Second Brain

Stop treating every chat as a new intern with amnesia. Compile a wiki the agent maintains — then ask questions against that, not against a pile of PDFs you re-discover every time

← AI Agents  ·  Productivity  ·  Headless Empire OS  ·  Knowledge base  ·  Company brain  ·  Product brain  ·  HQ for work

Source

The tweet that sent us here: @Bober_smart — “I still don’t understand why everyone is not using this yet” (21 Aug 2026). High bookmark signal at capture (~25k bookmarks, ~2.3M views). It quotes his July 19 long-form X article.

The actual idea is older and cleaner. Andrej Karpathy (@karpathy) published it in April 2026:

  • Original pattern tweet (2 Apr 2026, ~21.8M views): LLM Knowledge Bases — token throughput going into knowledge, not only code.
  • The “idea file” gist (4 Apr 2026): gist.github.com/karpathy/… llm-wiki.md — paste this into an agent; it builds your version.
  • Follow-up on Farza’s personal Wikipedia (Farzapedia): explicit, yours, file-over-app, BYOAI.

This page is field notes of the pattern, then a map onto Headless Empire OS and this repo. It is not Bober’s income claim, not an Obsidian course, and not a reason to throw away the OS we already run.

Strip the $17k headline

Bober’s hook is “thanks to it I increased my income to $17,000 a month” plus “stop using AI to write code, use it to build a second brain.” Karpathy did not say that. He said a large fraction of his token spend is now compiling markdown knowledge, not only generating code. His own follow-up even says you still have to read and think — the LLM only lets you skip the bookkeeping.

Bober posted a disclaimer a few hours later: a second brain is a tool; it does not guarantee profit. Treat the dollar number as marketing. Steal the architecture.

One-sentence TL;DR

Drop sources into a raw/ folder the model may never edit, let the model compile an interlinked markdown wiki, then ask questions against the wiki — and file the good answers back in, so knowledge compounds instead of dying in chat history.

Are HEOS and this site already brains?

Short answer: yes, but different organs. Calling everything a “brain” is why this feels confusing.

Thing What it actually is Karpathy wiki?
Headless Empire OS Command OS: TODAY / WEEK / inbox / tasks / agents / SOPs. Tells humans and agents what to do. No. Closest piece is 05-knowledge-base/ (identity vault), not a compiled research wiki.
This repo / mikesblogdesign.com Public field-notes wiki. Each .astro page is a compiled article from a source (this one included). Half. Wiki layer: yes. Immutable raw/, ingest that touches 10 pages, lint, index.md for agents: missing.
Knowledge base Five standing notes: offer, client, voice, playbooks, rulings. Agents skim this so they don’t invent the business. No. Identity, not compiled research.
Company brain Org-scale agent fleet + closed loops in Slack. Execution, not a markdown wiki. No. Different meaning of “brain.”
Product brain Per-SKU living research object (competitors, market, listings, reviews). Closest cousin. Same “don’t throw research away after the chat.”
HQ for work Shared context layer under Claude / Codex / Cursor for a team. Harness around a brain, not the wiki itself.
/brain Private audio “brain food.” Completely different word. No.

So: HEOS is the operating system. This site is the public compiled notebook. Karpathy’s second brain is the missing compiler — the loop that turns a transcript, PDF, or tweet into updated concept pages, with contradictions flagged, instead of one more isolated blog post or one more chat that evaporates.

What people usually mean vs what Karpathy means

Old “second brain” Karpathy LLM wiki
You write the notes (PARA, Zettelkasten, Notion) The LLM writes and maintains the wiki. You curate sources and think.
Maintenance is why people quit Maintenance is the whole point of using an LLM — it will touch 10–15 pages per source
ChatGPT / NotebookLM / RAG: retrieve chunks at query time Compile once, keep current. Query hits synthesis that already exists
Memory lives inside one vendor’s chat Memory is files on disk. Swap Claude, Codex, Grok, OpenCode — same wiki
You hope the model “gets to know you” You can see what it knows. If a page is wrong, you fix the artifact
Obsidian is the IDE. The LLM is the programmer. The wiki is the codebase.

Farza’s version is the punchline: he built Farzapedia for the agent, not for himself. 2,500 diary / Notes / iMessage entries → ~400 interlinked articles. RAG over the same dump was “ass.” A filesystem the agent can walk from index.md worked.

The three layers (this is the whole architecture)

your-wiki/
├── raw/              # immutable sources. LLM reads, never edits
│   ├── articles/
│   ├── transcripts/
│   ├── pdfs/
│   └── assets/
├── wiki/             # LLM-owned markdown. You read it; the model writes it
│   ├── index.md      # catalog: link + one-line summary per page
│   ├── log.md        # append-only timeline of ingest / query / lint
│   ├── people/
│   ├── concepts/
│   └── sources/
└── CLAUDE.md         # or AGENTS.md — the schema. How to ingest, query, lint
    (or AGENTS.md)
  1. Raw sources. Articles, papers, PDFs, screenshots, transcripts. Once they land, they do not get edited — not even for typos. This is the source of truth. Karpathy is explicit: he curates raw/ carefully and keeps the derived wiki separate, with backlinks to originals.
  2. The wiki. Summaries, entity pages, concept pages, comparisons, a synthesis. The LLM owns this layer. A single ingest might update 10–15 pages. You browse; you rarely type.
  3. The schema. CLAUDE.md / AGENTS.md. Tells the model how the wiki is structured and what “ingest this” means. You and the model co-evolve this. Without it, you have a chatbot in a folder.

The three operations

1. Ingest

Drop a file in raw/ and say “ingest this.” The model reads it, usually discusses takeaways with you, writes a source summary, updates entity/concept pages, updates index.md, appends log.md. Karpathy prefers one source at a time, human in the loop, especially early. After the pattern is set, “file this new doc to our wiki: (path)” is enough.

He does not fully automate ingest at the start. The viral “five minutes and it runs itself” version skips the part that makes the wiki trustworthy.

2. Query

Ask against the wiki, not against the raw dump. The model reads index.md, drills into pages, answers with citations. Good answers get filed back as new wiki pages. That is the compounding trick. Explorations stop dying in chat.

3. Lint

Periodic health check: contradictions, stale claims, orphan pages, missing concept pages, broken backlinks, gaps you should go find sources for. Humans abandon wikis because maintenance grows faster than value. LLMs do not get bored of touching 15 files.

Karpathy’s four reasons this is better personalization

  1. Explicit. You can see what the AI knows. Vendor “memory” is a black box. A wiki is inspectable.
  2. Yours. Local files. Not trapped in one company’s chat.
  3. File over app. Markdown + images. Unix toolkit, git, Obsidian, or a vibe-coded viewer. Agents already speak files.
  4. BYOAI. Claude today, Codex tomorrow, Grok, OpenCode, a local model. In principle you could even finetune on the wiki later so some of it lives in weights, not only context.

He also says this is not the easiest way to make an AI know you. You manage directories. Agent proficiency is the 21st-century skill; products will appear to wrap this, but the pattern is the thing to learn.

How to actually make one (without the 5-minute lie)

Bober’s steps are fine as a bootstrap. The gist is the real spec. You do not have to use Obsidian or Claude Code. Any agent that can read/write a folder works — Claude Code, Codex, Cursor, Grok, OpenCode.

  1. Create a folder. Open it in your agent. Optionally open the same folder as an Obsidian vault so you get graph view.
  2. Paste Karpathy’s llm-wiki.md and say: “Build this for my domain. Propose the schema before you write a hundred pages.”
  3. Approve three folders: raw/, wiki/, and the schema file. Do not let it “helpfully” edit raw sources.
  4. Ingest one source. Read the summary. Check which wiki pages it touched. Correct the schema if it filed things in the wrong place.
  5. Repeat until the pattern is boring. Then you can batch.
  6. Query. When the answer is good, say “file this back.”
  7. Lint weekly. Same as HEOS weekly review — wiki hygiene, not a new religion.

Optional later: Obsidian Web Clipper for articles, local images so the model can see them, git for history, qmd when index.md is no longer enough to search.

Which HEOS repo (don’t mix the editions)

There are two different things named Headless Empire OS. The public starter is not Mike’s live brain. The README says so:

Edition Where What it is Put the wiki here?
Public starter github.com/HeadlessEmpire/headless-empire-os
Local clone: ~/Documents/GitHub/headless-empire-os
Reusable template. Empty command center, fictional examples, folder rituals. v0.1 public starter. Yes, as empty raw/ + wiki/ + WIKI.md so cloners inherit the compiler. No real sources.
Your private live OS A private GitHub repo created from that template (gh repo create … --private --template HeadlessEmpire/headless-empire-os). Not this blog repo. Not the public starter. Real TODAY / WEEK, people, money, customer calls, agent logs. See 99-meta/private-boundary.md. Yes — this is where you actually ingest. The Bober tweet, call transcripts, 10-Ks live here.
This site mikesblogdesign.com (this repo) Public compiled field notes. A projection of the wiki, not the OS. No raw/ folder. Promote selected wiki pages here after they’re fit for humans.

If a private live OS clone isn’t on disk yet, that’s the gap — not “we forgot to add folders to the public template.” Don’t dump customer calls into HeadlessEmpire/headless-empire-os.

Do not start a second vault. Wire it into HEOS

If you already have a private Headless Empire OS, a greenfield Obsidian vault is how you get two slightly different brains that drift. Put the compiler inside that live OS (and, separately, as empty folders in the public starter):

05-knowledge-base/
├── company/              # existing identity (offer, people, products)
├── people/
├── products/
├── market-research/
├── key-metrics.md
├── raw/                  # NEW — immutable sources (this tweet, PDFs, transcripts)
├── wiki/                 # NEW — LLM-compiled pages + index.md + log.md
└── WIKI.md               # NEW — schema the agent follows for ingest/query/lint

Split the jobs so they don’t fight:

Layer Job Who writes it
00-command-center/ What matters today / this week You + briefing agent
02-tasks-projects/ Work in motion You + agents, with review
Identity vault (company / people / products / rulings) Who we are, what we sell, standing rules You; agents may propose, you approve
raw/ + wiki/ Compiled knowledge from the outside world LLM writes wiki; you curate raw
This public site Selected wiki pages, edited for humans You (this page is one)

Mental Fog dump (/mentalfog2) stays an inbox, not a wiki page. Capture fast → triage → then ingest the durable bits. Don’t compile every 2am thought.

What to ingest first (Mike, not a generic starter pack)

Don’t dump your whole hard drive. Karpathy adds sources one by one on purpose. First ten that would actually compound:

  1. Karpathy’s gist itself (so the wiki knows its own method)
  2. This Bober tweet + the July article (as an example of viral overlay vs source)
  3. HEOS README / QUICK-START (so the wiki can describe the OS)
  4. Company brain + knowledgebase (identity vs compilation)
  5. Product brain — seed a Para Living / theflysales concept page
  6. One customer call transcript (not ten)
  7. One earnings or competitor 10-K you actually care about
  8. One GrokBot / CEO / course page if you want agent-ops as a topic cluster
  9. A decision from decision-log.md that you keep re-explaining in chat
  10. The next thing you were about to paste into a blank Claude window

Then query: “What do we already believe about product brains vs company brains, and where do they contradict?” If the wiki can’t answer, that’s a lint finding, not a reason to start another chat.

This site, seen as a wiki

mikesblogdesign.com already behaves like the public projection of a second brain:

  • A source appears on X (tweet, talk, PDF)
  • An agent (or Mike) compiles a field-notes page
  • Related links are the backlinks
  • Categories are a crude index
  • Pagefind is search over the compiled wiki

What’s missing, if you wanted the Karpathy loop instead of a blog:

  • A raw/ folder of the original tweet/PDF/transcript next to the page
  • Ingest that updates multiple existing pages (not only a new URL)
  • An agent-readable index.md of every concept, not only a sitemap of URLs
  • Lint: “we said X on /cli2 and Y on /mcpnew — which is current?”
  • Filing query answers back (this study becoming /secondbrain is the rare case we already do it)

You don’t need to turn the public site into Obsidian. Keep publishing here. Let HEOS hold raw/ + private wiki, and promote the pages worth showing. Two outputs, one compiler.

Failure modes (so you don’t build a graveyard)

  • Ingesting without reading. Karpathy: this lets you skip writing, not reading and thinking. If you never open the summary, you have a slop wiki.
  • Letting the LLM edit raw. Then you can’t tell source from synthesis.
  • One mega-brain for life + every company. Same lesson as GrokBot social: prefer a wiki per domain (personal, Shadstone, Para Living) plus HEOS as the OS that points at them.
  • Notes that describe code, with no link to the code. Lint only checks notes against notes. If the dashboard “requires admin” but the permission check always returns true, the wiki will agree with itself and still be wrong. Anchor claims to files, or don’t file them as facts.
  • RAG as a substitute. Farza already tried. Retrieval without compilation is amnesia with a search box.
  • The $17k expectation. A wiki does not sell. It stops you re-deriving the same synthesis every Monday.

Related on this site

Primary sources: @Bober_smart · Karpathy llm-wiki gist · Farzapedia follow-up

Field notes · August 2026 · Compile once, query the wiki · OS ≠ wiki ≠ public site · Karpathy gist

Comments

Approved comments appear below. Log in once with GFAVIP — it applies across the whole site. GFAVIP login

View comments archive