← ALL TAGS

Tag: bm25

7 articles tagged “bm25” on Oak Oliver Engineering, newest first. The latest is “Getting Started with kb: A Knowledge Base an LLM Writes for You”.

Runtime

Getting Started with kb: A Knowledge Base an LLM Writes for You

@oakoliver/kb turns notes, papers and web pages into a linked, Obsidian-compatible wiki: you ingest sources, an LLM compiles them into articles, and you search, lint and browse the result from the terminal. This guide goes from an empty folder to KB Studio, and shows which steps need an API key.

October 3, 2026 7 min read
Read Story →
Runtime

Getting Started with bm25s: Full-Text Search in TypeScript Without a Search Server

A hands-on introduction to bm25s, the TypeScript port of Python's BM25 library: index a corpus, rank results with scores, pick a BM25 variant, tune k1 and b, add stopwords and stemming, save and load an index, and finish with a small CLI that searches your Markdown notes. Every example runs on Node, Bun and Deno.

October 3, 2026 10 min read
Read Story →
Runtime

Syncing Ten Ports With Upstream: Glow v3, spec-kit 1.0, and Everything In Between

This year we ported ten Go and Python libraries to TypeScript. By September every upstream had moved: Glow shipped v3, spec-kit hit 1.0, Bubbles gained a tree component, PageIndex released nineteen times. We brought all ten back to parity in one pass: 1,795 tests became 5,730, with zero new runtime dependencies.

September 27, 2026 14 min read
Read Story →
Runtime

Stop Pasting Into ChatGPT. Build a Knowledge Base Your AI Can Actually Search.

I built a CLI tool that turns URLs, PDFs, and markdown into a searchable knowledge base with AI-powered Q&A. No vector database. No embedding service. Just files, BM25 search, and LLM synthesis — all from your terminal.

April 3, 2026 7 min read
Read Story →
Runtime

How kb Works: 27 Modules, One External Dependency, and a Compiler That Turns Raw Sources Into a Wiki

A deep dive into the architecture of kb — the CLI knowledge base tool. Hash-based incremental compilation, BM25 search, TTY-aware dual output, Zod-validated frontmatter, and a dependency graph that recompiles only what changed. 154 tests, 27 TypeScript modules, the full @oakoliver stack.

April 3, 2026 8 min read
Read Story →
Runtime

Full-Text Search Without Elasticsearch: BM25 in Pure TypeScript

How we replaced Elasticsearch with a small TypeScript port of Python's bm25s for mentor and session search in Mentoring. 4.6 million tokens per second indexing, zero infrastructure dependencies.

March 16, 2026 6 min read
Read Story →
Runtime

I Rewrote Python's Fastest BM25 Library in TypeScript: 2x Faster Indexing, Zero Dependencies

How bm25s (formerly bun-bm25s) indexes about 2x faster than Python's bm25s library using nothing but TypeScript and typed arrays. Retrieval beats bm25s's numpy backend but not its numba backend, as the October 2026 re-measurement shows.

March 15, 2026 9 min read
Read Story →