Series: How I built a second brain · part 1
Notes have one flaw: they are easy to write and hard to read. While a system is new, you write in it; then you stop reading it. A note nobody reads is not memory. It is just a more expensive way to forget.
AI assistants brought the opposite problem. A conversation with an AI is clever, but it forgets. Every new conversation starts from zero, and everything you explained last time, you explain again.
This April I tried to combine the two. This post is about how to build it, and mostly about what went wrong in six months, because that is where the advice I would give you today comes from.
Two folders and one file of rules
The basis is a pattern called the LLM wiki, described by Andrej Karpathy. It rests on a simple division of labour: I collect the sources, and AI writes and maintains the wiki.
- Sources are the documents, exports and emails I put into the system. Nobody ever edits them, neither me nor the AI. They are the evidence.
- The wiki is the pages the AI writes from them. One page per person, project or idea, connected by links. This folder belongs entirely to the AI.
- The rules say what a page looks like, how files are named, what to do when a new source arrives, and how to check that the wiki is not falling apart.
On top of that, three operations. Adding a source: the AI writes a summary and updates the affected pages and links. Query: I ask, and the AI answers from the wiki, linking to the pages it drew on; a good answer gets saved as a new page. Check: the AI goes through the wiki looking for orphaned pages, broken links and claims that contradict each other.
Technically it is plain text files in Obsidian, worked on by Claude Code and versioned with git. Git matters more here than it seems: every change the AI makes can be traced and undone.
Memory that a machine writes to needs a history.
The first night: nine fixes out of twenty
For the first few hours I fed the wiki whatever I had at hand: my LinkedIn profile, a Wikipedia page and a memory export from my previous AI assistant, over thirteen hundred lines about me. Over the evening the AI built the first few dozen pages from them.
The log of that night is instructive. Of twenty operations, nine were fixes. A wrong year, a guess presented as fact, a decision I never made. Some errors were already in the sources, others came from the way the AI put them together, and a finished page does not tell you which is which.
The AI assembles, the human corrects. And the value is in the corrections. A page I have corrected once is, from then on, more accurate than any source it came from.
What went wrong
The most interesting part of the wiki is not any page. It is the file of rules, and it grows mostly when something goes wrong. Every rule in it carries a date and the story of why it exists. Here are four:
A diary pretending to be state
On the second day I built AI advisors on top of the wiki (they are the subject of part three). Each keeps a page of what it knows about me. Those pages quietly degenerated into diaries: instead of "where things stand now", they filled up with "what happened when". One advisor had to read roughly 107,000 tokens before every conversation, before it even got to my question.
The fix: every state page opens with a short board that gets rewritten, not added to. After the change it was around 12,000. History has its place, in the diary, not on the board.
Read the clock, don't count
Every diary entry carries the time the conversation started. One evening the AI wrote thirteen of them, but read the clock only once and kept adding to it. Six entries landed on a day that had not happened yet. The rule now says: if you are writing down a time and have not looked at the clock since the last one, look.
One word in the rules
The operations log reads from the top, with the newest entry first. But the rule said "append an entry to the log", and append means at the end. The AI took it literally, so recent history got split between the start and the end of a nineteen-hundred-line file, and nobody noticed. The fault was not in whoever wrote the entries. It was in one word.
An invented decision
While tidying a page, the AI shortened the warning "this hasn't moved in a long time" to "paused by Jan's decision". I never made that decision, and I rejected it the very next day. Since then there is a hard rule: no decision, quote or preference is attributed to me without a date and a link to where I said it.
What all four mistakes have in common is that each single step looked reasonable. The board grew by true lines. The time was counted correctly from the wrong starting point. The word "append" is ordinary. Shortening a warning is tidying up.
A system the AI writes to does not break all at once. It breaks through reasonable steps, none of which looks like a mistake.
So the check must not hunt for mistakes. It has to enforce the rules, and the rules have to be written so that they can be verified.
Where it stands after six months
Today the wiki has 491 pages, 1,295 commits in git and 350 logged operations. The rules file has sixteen verifiable conditions, which the machine checks itself once a week, and each one came from a specific mistake.
And I am no longer the only one writing to it. Data from my watch, car, bank and email flows into it the same way; that is part six. When I need to know something, I ask and get an answer with a link to the source.
How to start
You don't need to buy anything.
- Create two folders and one file. Sources that never change. Pages that belong to the AI. And the rules it writes them by.
- Feed it what you already have. Your CV, a notes export, a few important documents. And expect to spend the first evening mostly correcting.
- Turn every mistake into a dated rule. In three months you will have a file that describes exactly how your system fails, and that is worth more than the wiki itself.
Next time: how I got OpenClaw running on my own hardware.