Every time we started a new chat with an AI, we spent the first ten minutes explaining ourselves again. Who we are, what we sell, how we write, which rules we never break. Then the chat ended and it all went with it.
Since June we have run something different: a set of knowledge bases that Claude keeps for us, sitting in an Obsidian vault on our own hardware and backed up to GitHub three times a day. We call them our brains. There are six of them now, about 715 notes between them, and they are the reason our AI work sounds like us instead of like everybody else.
None of the core idea is ours. We will say exactly whose it is further down. What follows is how we actually run it, what it costs, and the things that went wrong along the way.
The idea, in plain English
In April 2026 Andrej Karpathy published a short note called LLM Wiki (opens in a new tab). The idea is simple enough to fit on a napkin. Instead of throwing documents at an AI and hoping it finds the right bit, you split the work into three layers:
- Raw sources. The original material, kept exactly as it came. In his words, it is “immutable — the LLM reads from them but never modifies them.”
- A wiki. Articles the AI writes and keeps up to date from those sources, cross-linked, with an index so it can find its way around.
- A rulebook. One instructions file that tells the AI how the whole thing works, so every session starts from the same place.
The AI does the filing, the summarising and the cross-referencing. You do the reading and the deciding. Good answers get filed back in as new pages, and every so often you ask the AI to give the wiki a health check: contradictions, stale claims, pages nothing links to.
The part that sold it to us is that the wiki compounds. It gets better every week without anybody sitting down to “do the knowledge base”.
How we started
We did not build it from Karpathy’s note directly. We started from a starter kit by Simon Pittman at Better Creating (opens in a new tab), which packages the same pattern for Claude’s desktop app: a ready-made folder structure, an instructions file that turns Claude into a librarian, a template for starting each new knowledge base, and one installable skill that runs the health check.
That saved us a lot of blank-page time, and it is worth being honest about how much of it survives. Our top-level instructions file still opens with Simon’s wording. The template we copy for every new brain is his. The health-check skill runs every month. Everything we added sits on top of that.
What it looks like for us
One brain per area of the business, never one big pile. Ours cover marketing operations, our networking groups, our software product, the company and brand, and a couple more for other parts of what we do. Each one is just a folder:
marketing_kb/ ├── CLAUDE.md the rules for this brain ├── RAW/ sources, word for word │ └── _INGESTED.md the register of every source ├── Wiki/ articles Claude writes and maintains │ ├── INDEX.md │ └── QUESTIONS.md things we don't know yet ├── Outputs/ every answer, filed as a report └── CHANGELOG.md what changed, newest first
Our part of the job is small, and the kit was right to say so. We drop things into RAW: a supplier’s guidance, notes from a call, a transcript, an article worth keeping. Claude compiles it into the wiki overnight. When we ask a question, the answer is written up in Outputs with the sources it drew on, so we can check it rather than trust it.
The brain we lean on hardest is the marketing one. It holds our voice rules, what each platform wants, the wording we have already approved, and the posting rhythm. Every piece of content we make starts by reading it. There are 44 written reports in Outputs across the brains now, most of them weekly content plans, and each one could be traced back to where its claims came from.
Where Obsidian comes in
The brains are plain Markdown files in folders. That is the point: nothing is locked inside an app, and any AI can read them. But a folder of 700 text files is not much fun to look at, and that is where Obsidian (opens in a new tab) earns its place.
Karpathy describes it neatly: “Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase.” Claude writes; Obsidian is how a person reads. Our whole set of brains is a single Obsidian vault, so the links Claude writes between articles become clickable, and the graph view shows you which ideas hang together and which notes nothing points at.
How we have layered it:
- One vault, many brains. Each knowledge base is a folder inside the vault, so you can search across all of them or stay inside one.
- The vault lives on our NAS, not the laptop. A small network drive at home holds it, and the NAS has its own backup.
- Git underneath. The vault is a private GitHub repository. A small script commits and pushes at 08:30, 13:00 and 23:15 every day. That is 156 commits since September, and every one is a point we can roll back to if an overnight job writes something daft.
- Obsidian Sync on top. Sync gets the vault to other devices, end-to-end encrypted. It is not a backup: if something is deleted, Sync faithfully deletes it everywhere. Git is the backup.
- Two things stay out of git. Large original files like PDFs and spreadsheets live on the NAS only, with a text copy kept in the vault. And anything with real people’s names in it, such as reviews and personal stories, is excluded from the repository even though it is private.
- One setting switched off. In Obsidian, “Automatically update internal links” is off. With it on, Obsidian and the overnight jobs both rewrite links in the same files and trip over each other.
We should be straight about one thing. Obsidian is the window, not the engine. Claude does almost all of the writing, and Obsidian is on a phone too but rarely gets opened there. At one point we seriously considered dropping it. What keeps it is that it is the easiest way for a person to wander through what the brains know, and because everything underneath is plain files, leaving it later would cost us nothing.
The bits we got wrong
We let a small model write from the brain. To save money we tried a free model running locally on the laptop for simple questions. We asked it for a piece of wording we had already approved. It found the right note, put it in front of itself, and then answered with a company name, a phone number and a website that do not exist anywhere in our files. So now the local tool quotes the source word for word by default, and anything that has to be exactly right is never composed by a small model. Local models are good for sorting and tagging. They are not good for being trusted.
We kept it in iCloud. The vault started life in a cloud-synced Documents folder. iCloud quietly moves files off the laptop when space is tight, leaving placeholders behind, and git cannot work with a file that is not really there. The overnight jobs started failing, and it took us a while to work out why. Moving the vault onto the NAS fixed it.
We trusted the backup without watching it. In October a session working on a copy of the vault elsewhere pushed straight to GitHub. Our laptop’s copy had not seen those changes, so every scheduled push after that was refused. For two days nothing reached GitHub, and nobody noticed, because the job meant to warn us had been switched off. Nothing was lost; the work was all still on the NAS. But the fix was two changes, not one: the script now pulls before it pushes, and the warning job needs switching back on, which, as we write this, is still on our list. A backup you never check is a hope.
We nearly summarised on the way in. The tempting move is to have the AI tidy up a source as you add it. Don’t. The moment RAW holds summaries instead of the original words, you can never check a claim against what was actually said. Verbatim in, summaries only in the wiki.
If you want to try it
- Read Karpathy’s note (opens in a new tab) first. It takes ten minutes.
- Start with one brain, on one subject you already have material for. Not six.
- Make the three folders and one instructions file. Tell the AI the rules: RAW is never edited, every wiki claim names its source, every answer is filed.
- Put it under git from day one, even if you never share it. It is the undo button.
- Open the folder in Obsidian when you want to read it. It is free, including for business use.
- Run a health check monthly, and read what it flags.
Whose work this is
This is what we use for this work, and who made it.
- The LLM Wiki pattern, by Andrej Karpathy. A public note on GitHub; we could not find a licence attached to it. We follow the idea, we have not copied the text. Not used for: anything, directly. It is the design.
- The knowledge base starter kit, by Simon Pittman at Better Creating. Our folder structure, template and top-level instructions started as his, and we still run his health-check skill monthly. Not used for: the overnight jobs, backups or anything to do with Obsidian. Those we added.
- Obsidian, by Dynalist Inc. Free for any use; we pay for Sync, which is $4 a month billed yearly. Used to read and browse the brains. Not used for: writing them, or backing them up.
- Claude, by Anthropic. Paid. Does the compiling, the writing, the health checks and the answering.
- Ollama, open source, running a small local model. Used for sorting and tagging. Not used for: anything that has to be worded exactly right.
- Git and GitHub, for the history and the off-site copy. Free private repository.
Good and done is better than perfect and never seen. This one is good, and it is done, and it is still changing every night.



