Search your own files, locally.
Drop a handful of documents and search across them with the same engine grove runs on its fast path — keyword (BM25) and local semantic embeddings, fused. Everything is indexed in this tab; your files are never uploaded.
- ✓Runs in your browser
- ✓Files never uploaded
- ✓Indexes locally
- ✓Open source
Drop files here, or click to choose
.md · .txt · .pdf · .docx — parsed in your browser, nothing uploaded
4 files · 12 chunks · 1.6k chars indexed
1 result
keyword (BM25)- #1onboarding.md1.334
New hires get access through single sign-on on day one. We issue a short-lived session token at the start of each visit and refresh it silently, so nobody types a password twice in a day. If someone loses their laptop, an admin revokes every active session from the members page.
The retrieval core of grove, made tangible.
grove is a local knowledge engine I'm building — it indexes your notes and docs and serves them to AI tools. This page runs grove's fast path in your browser: chunk every file, score with BM25 for exact words and local embeddings for meaning, then fuse the two rankings with reciprocal rank fusion so a result both methods like floats to the top.
It's honestly not the whole engine. The real grove adds a third retriever that walks your documents' own structure (folders, headings, links) like a table of contents, an LLM relevance prune, and an MCP server so an agent can query it — and it persists the index in one local SQLite file instead of rebuilding it per tab. Here there's no descent, no prune, no persistence. But the keyword + semantic + RRF heart is the same, and it's all running on your files, on your machine.
Honest footnote: BM25 and fusion are plain arithmetic; the embeddings come from a small sentence-transformer (all-MiniLM-L6-v2) that runs via WebAssembly. The model weights download once from the HuggingFace CDN; your files never do. PDFs and Word docs are parsed with the same in-browser extractors as the Docs to Markdown tool. Want the concepts? Start with the RAG Playground.