i've been frustrated with search on documentation sites for a while. if you don't use the exact same words as the docs, you get nothing useful back. like searching "background jobs" when the page is called "Background Tasks", or "file uploads" when the docs say "Request Files." the page you need exists, keyword search just doesn't find it.
so i built sift. it's a CLI that indexes your markdown into a SQLite file, and a web component that loads it in the browser via range requests. the ML model runs client-side through Transformers.js — no server, no API keys, just static files.
keyword results show up immediately through FTS5, and once the model loads (~2s) they upgrade to semantic.
pip install sift-search
sift index ./docs -o public/sift-index.db
escapeact•1h ago
so i built sift. it's a CLI that indexes your markdown into a SQLite file, and a web component that loads it in the browser via range requests. the ML model runs client-side through Transformers.js — no server, no API keys, just static files.
keyword results show up immediately through FTS5, and once the model loads (~2s) they upgrade to semantic.
here's a side-by-side on FastAPI's full docs so you can see the difference: https://siftsearch.netlify.app/compare.htmlwould appreciate feedback from anyone running a docs site. (first release, happy to hear what's broken)