How the Project Started
My notes have been rotting for years. Not disappearing—rotting. Folders that grew into junk drawers, tags I invented once and never reused, a wiki that was accurate on the day I wrote it and a lie three months later. Every attempt to fix it added process: a template here, a review ritual there. The process was always the first thing I dropped.
What I wanted was not a better place to put notes. I wanted notes that do something with themselves. I drop in whatever I have—a paper, a scan, a link—and something reads it, decides what it actually claims, files that claim where it belongs, and keeps the whole thing true when the world moves on. That is Thought Keeper.
Three Ideas I Could Not Shake
The project is a collision of three things I had been circling separately.
Zettelkasten. The atomicity rule—one note, one thought, linked rather than foldered—is the only note-taking discipline that ever survived contact with me. Its weakness is the same as its strength: a human has to do the linking.
Karpathy’s LLM-wiki idea. A wiki that an agent writes and maintains, with a plain index.md as the navigation
surface, so retrieval is reasoning over structure instead of nearest-neighbour lookup. The agent becomes the maintainer
I always failed to be.
PageIndex. Treat a long document as a hierarchy, retrieve like a human reads: look at the table of contents, pick the branch, open the section, cite the page. It is how I actually use a PDF—so it is how the agent should too.
Put together, the three describe a system where a source becomes claims, and claims become an explanation. That is a pipeline, not a folder. Once I saw it as a pipeline, the design wrote itself.
The Non-Negotiables
Before any code, five rules that were not up for negotiation:
- Local, always. No cloud, no account, no sync in v1. My knowledge does not leave the machine, and the tool works on a plane.
- Plain Markdown. Sources, claims, and wiki pages are files I can open in any editor,
grep, and back up by copying a directory. If the app burns down, my knowledge does not. - One binary, one app. Double-click, tray icon, done. No install-as-service step, no Docker, no “now configure the database”.
- Nothing silent. No silent OCR, no silent writes, no silent fallback. If something is degraded or lossy, it says so.
- Explainable output. A generated artifact that cannot be traced back to its inputs is a rumour, not knowledge.
The Name, and the Studio Slogan
I named it Thought Keeper after the Memex idea that runs through the whole studio—a personal, curated record of what you have read and thought. The slogan it hangs under is the studio’s own: Computer Science as Industrial Craftsmanship. This is a tool, not a framework: it should feel built, not configured.
The starting point is not capture but upkeep: collecting is cheap, and every tool that depends on someone re-filing notes fails at the same place. The chapter sets the three ideas that follow from that—an agent-maintained wiki, the claim as the unit of truth, and files in a folder the owner keeps—and draws the boundary around what the machine may decide. The name is part of the argument: a memory that holds what was thought, not an inbox that holds what was saved.
