I save everything: job posts, a post that stuck with me, a 1 a.m. screenshot, a half-baked idea in my notes app. Most of it went in and never came back out. Brain links every piece to everything else I've saved, so one question gets answered from all of it at once, with receipts.
TypeScript
Supabase + pgvector
Voyage
Claude
Web search
MCP
Obsidian
Ask
I want to start a meaningful supply chain project. Across the job postings I've saved, what are companies looking for?
Ready
other topics
the web
drag to turn · scroll to zoom · click a node
Demo data is mock, shaped like my real knowledge base. The real graph stays private.
Walkthrough
What happens in the backend.
01EmbedThe question becomes a vector with voyage-4-large, so it can be compared by meaning, not just words.
02Search five ways at onceVector and keyword search run side by side and are fused; summaries, facts and an exact-match scan run in parallel.
03Follow the graphEntities the question touches pull in their neighbours: from postings to my projects, internship notes, a saved post, a screenshot, a random idea.
04Rerank, check the barEverything returns as one evidence contract and is reranked. Under 0.56, Brain says my notes may not hold the answer.
05Reach for the webBrain is the memory, not the whole mind. Claude uses tools like web search for what I haven't saved: the live shortage list, where the investment is going.
06SynthesizeClaude writes from the cited passages and what the web turned up: the themes, where I already stand, the gap, a project.
07VerifyEach claim's words, numbers and dates are checked against the passage it cites, with no model call.
At its core
Everyone's building a RAG. Fetching a paragraph is the easy part.
01
It connects
Every save gets linked to the people, projects and ideas in it. So a question doesn't stop at the nearest paragraph. It wanders into my projects, my saved posts, my 1 a.m. ideas, and comes back with the whole picture.
Every answer says where each piece came from and how sure it is. When my notes don't actually say something, it answers “I don't know.” More honest than most people at a meeting.
evidence contract · abstention · claim checks03
It stays mine
It runs on my laptop. Facts about me come only from things I wrote, never from an article I happened to save. And it has a daily spending cap, because I know myself.
local Supabase · authorship rules · daily token cap04
It isn't alone
Brain is the memory, not the whole mind. Claude reads from it, then reaches for tools like web search for whatever I never saved. My notes are where an idea starts; the web is where it gets checked.
Claude · tool use · web search
Tested
Measured, not vibes.
25 fictional documents and 152 questions (78 approved, 41 unanswerable), written so nothing real could leak into the test. Run on Oct 4, 2026.
A near-miss looks answerable, but the notes do not actually say it. The search flag alone catches few of them; the answering step declines all sixteen. That split is the design: search reports evidence, the answer refuses to stretch it.
How the numbers were kept honest
0.56The abstain bar was chosen on a calibration split, then measured on a held-out split written without knowing the rule.
1.00Verifier precision. 0.67 once its documented limits are counted: it checks vocabulary, not logic, and says so.
replayEvery search is logged with how each passage was found, and can be replayed step by step.
capA daily token cap on the embedding and rerank service, so a runaway job cannot run up a bill.
What's next
A research version of me. Minus the creativity.
Next it leaves my laptop. Deployed, it can work for more than one person and more than one question: a team pulling context together before a meeting, a support desk answering customers with the source attached. It will read everything and connect it faster than I can. The good ideas are still my job; that part stays in my actual brain.
DeployHost the server so it runs beyond my laptop.
BroadenUse cases at work and facing customers (tab 02, coming).