Overview
SearchThing is a local-first document search tool that runs the entire pipeline (embedding, indexing, querying) inside the browser. Drop in PDFs, Markdown, or plain-text files, and search across them in natural language. Nothing leaves your machine; embeddings are generated on-device via Hugging Face Transformers.js inside a Web Worker.
Features
- Semantic search via on-device embeddings (no API calls, no network round-trip)
- Hybrid BM25 + vector ranking with reciprocal rank fusion
- Upload, store, and browse PDFs, Markdown, and text
- All embedding work happens in a Web Worker so the UI doesn’t stutter
- Caches embeddings per chunk so unchanged content isn’t re-embedded
- Built-in reader view that highlights the chunk that matched your query
- Mobile layout with adaptive navigation
- Drop files anywhere in the window to upload
Technology Stack
- TypeScript
- React
- Bun (server and bundler)
- Hugging Face Transformers.js for local embeddings
- shadcn/ui + Tailwind CSS
- Comlink for the main-thread ↔ worker bridge