If you've ever tried to research a deep topic — literature review, technical due diligence, a rabbit hole you fell into at 11pm — you know the problem isn't finding information. It's that your notes end up scattered across browser tabs, a Notion page, a PDF folder, and your own head. Burrow is my attempt at fixing that: a voice-driven AI research assistant on an infinite canvas, built local-first and BYOK.
Burrow gives you a canvas — think digital detective board — where you drop notes, documents, tables, diagrams, and images while talking to an assistant that can search the web, fetch papers, read your documents, and build things directly on the board with you. Everything it creates lands as a real block on the canvas, not a wall of chat text you have to mine for insight later.
Some specifics:
This is the part I care most about. Workspaces are plain folders on your disk:
<Documents>/Burrow/<id>/
workspace.json
board.json # { nodes, edges, ink, viewport }
transcript.jsonl # append-only, text only — never audio
documents/
images/
You bring your own API keys, stored in your OS keychain. Nothing leaves your machine except calls you explicitly configure. And if you'd rather not use any hosted provider at all, point it at Ollama or any OpenAI-compatible endpoint and the whole thing runs locally — no keys required.
Voice input works the same way: it defaults to a local Whisper server (whisper.cpp, Speaches, LocalAI, or vLLM), with hosted providers like Groq or Deepgram available if you'd rather not run one yourself.
Every mutation to the board — whether from you clicking around or the assistant acting — goes through a single apply(board, command) function in src/canvas/commands.ts. That one decision gives you:
@xyflow/react)
Honest status, not marketing copy: the assistant loop and every block type are verified against live providers, and document import/paper search work. Image generation is built but not yet verified end-to-end against a real provider, and the vision half of handwriting-reading has request shapes written from documentation but hasn't been tested against a model that can actually see. No bundled speech engine ships — you run your own Whisper server.
It's MIT-licensed and free to run. Grab a release for Windows, macOS, or Linux, or build from source:
npm install
npm run tauri dev
Repo: github.com/ronak-create/burrow
Design doc (the real docs, hand-written): DESIGN.md
If you're working on something similar or have thoughts on the voice UX, I'd love to hear them in the comments.