Field note · August 26, 2026

Search is a JSON file

Site search is a static JSON index fetched on first use and scored in the page. No search service, no API key, no query leaving your browser.

1 min read ·Data platform ·engineering performance

Site search is a static JSON index fetched on first use and scored in the page. No search service, no API key, no query leaving your browser.

Scoring is deliberately dumb: title matches beat summary matches beat body matches, with a small bonus for prefix hits. No stemming, no fuzzy matching, no ranking model.

It is worse than a real search engine at finding things you half-remember. It is better at being there, costing nothing, and never returning results from a stale index — the index is rebuilt with the site, so it cannot disagree with what is published.

The index is the one thing on this site with a genuine size ceiling. Every published page contributes a row, so it grows with the archive, and at some point the download stops being free. The lever is how much body text each row carries: full text for lessons and articles where someone might search for a phrase, title and summary only for the daily notes where the title is usually the query.

Most sites do not need search infrastructure. They need a list and a loop.