The Lab · grove, in your browser

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

onboarding.mdbilling.mddeploys.mdapi.md

4 files · 12 chunks · 1.6k chars indexed

1 result

keyword (BM25)
  1. #1onboarding.md
    1.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.

What this is

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.