Skip to content
· 21 min read

Second Brain Architecture

Building a personal knowledge management system that actually works

Three years ago my notes folder had 2,400 files in it. Bookmarks, highlights, half-finished outlines, screenshots of whiteboards, PDFs of papers I swore I’d read later. It was, by any metric a PKM influencer would use, an impressive second brain. It was also completely useless. I couldn’t find anything. I couldn’t remember what I’d saved or why. When I sat down to write, the blank page stared back at me the same way it always had, as if those 2,400 files didn’t exist.

The problem wasn’t the tools. I’d tried them all. Notion, Obsidian, Roam, Logseq, Apple Notes, a physical Zettelkasten in index cards that lasted two weeks before the cards ended up in a shoebox. The problem was architectural. Every system I built optimized for input. Capture this. Save that. Tag it. Link it. None of them optimized for the thing that actually matters: producing output.

This is the story of the system I use now. It has about 900 notes (not 2,400), it takes less than 10 minutes of maintenance per week, and in the last 18 months it has directly contributed to blog posts, conference talks, a technical book outline, architecture decisions at work, and a handful of side projects that actually shipped. The difference is not the tool. The difference is the architecture.

The Graveyard of Second Brains

Before I explain what works, I want to talk about what doesn’t, because the failure modes are instructive.

The PKM community has a term for the most common one: the collector’s fallacy. Christian Tietze coined it, and it describes the mistaken belief that amassing information is the same as learning it. You highlight a passage in a book. You clip an article to your read-later app. You feel a small hit of productivity dopamine. But you haven’t processed anything. You’ve just moved information from one place to another.

Tiago Forte’s Building a Second Brain (BASB) methodology, which popularized the term “second brain,” tries to address this with the CODE framework: Capture, Organize, Distill, Express. The problem is that almost everyone gets stuck between Organize and Distill. They spend hours tagging notes, building folder hierarchies, formatting headers, linking files. It looks like work. It feels like work. But it’s performance, not production.

Here’s the uncomfortable math. Niklas Luhmann, the German sociologist whose Zettelkasten is the patron saint of the PKM movement, accumulated roughly 90,000 handwritten index cards over 40 years. He published over 50 books and 600 articles from that system. That is a staggering output. But Luhmann wasn’t optimizing for collection. He was optimizing for connection and retrieval. Every card he wrote was an act of thinking, not an act of saving. He wrote in his own words, linked to specific existing cards, and filed each one in a position that created a new intellectual adjacency. The system worked because the process of using it was the process of thinking.

Most digital second brains invert this. The process of using them is the process of filing.

I ran a rough audit of my old 2,400-note Obsidian vault before I nuked it. Here’s what I found:

Category Count Percentage
Raw highlights/clips (never re-read) 1,430 59.6%
Stubs with a title and one sentence 380 15.8%
Notes with real content but no links 340 14.2%
Notes I actually referenced in the past year 187 7.8%
Notes that contributed to published output 63 2.6%

Sixty percent of my “second brain” was digital hoarding. Clips I saved and never looked at again. The system hadn’t failed because the tool was bad. It had failed because the architecture rewarded input volume over processing depth.

The Architecture Decision That Changes Everything

When I rebuilt from scratch, I started with a question that most PKM guides never ask: what is this system for?

Not “what could it be for, in theory, someday.” What is it for, concretely, right now. The answer, for me, was: this system exists to help me write, build, and decide. That’s it. Not “to remember everything.” Not “to be a complete external memory.” Not “to capture all my ideas.” Those goals sound noble but they produce the hoarding problem because they have no built-in constraint.

The constraint matters. A system that exists to help you write, build, and decide has a natural pruning mechanism: if a note doesn’t contribute to writing, building, or deciding, it doesn’t belong in the system. It can live in a bookmark, a read-later app, a browser tab. But it doesn’t earn a place in the active knowledge base until you’ve processed it into a form that’s useful for one of those three activities.

This single decision eliminated about 70% of what I used to capture.

Flat vs. Hierarchical: The Great PKM Holy War

Every PKM tool takes an implicit stance on structure.

Tool Architecture Mental Model
Obsidian Flat files + bidirectional links A graph of connected documents
Notion Hierarchical databases + pages A structured workspace with nested containers
Logseq Outliner blocks + bidirectional links A graph of connected blocks (sub-document granularity)
Tana Node-based with supertags (schema) A typed knowledge graph with structured attributes
Capacities Object-based with typed schemas A personal database where everything is a typed entity
Apple Notes / Google Docs Folders + search A filing cabinet

The holy war in PKM circles is flat vs. hierarchical. Zettelkasten purists argue that hierarchical folders impose premature structure. You decide where something goes before you understand its relationships, and then you can never find it when you need it in a different context. The flat-with-links camp argues that structure should emerge from connections, not be imposed from above.

The hierarchy defenders counter that flat systems become unnavigable at scale. 10,000 notes in a flat folder with only links and tags for organization is a haystack, not a system. You need some structural scaffolding to maintain orientation.

They’re both right, and the resolution is boring: you need both, at different levels of the system.

Here’s what I use:

knowledge/
├── inbox/              # Raw captures, unprocessed
├── projects/           # Active projects (time-bound, have a deliverable)
│   ├── blog-second-brain/
│   ├── physics-engine-v2/
│   └── ...
├── areas/              # Ongoing responsibilities (no end date)
│   ├── engineering-management/
│   ├── writing/
│   └── ...
├── concepts/           # Atomic evergreen notes (flat, linked)
│   ├── zettelkasten-method.md
│   ├── retrieval-practice.md
│   ├── graph-data-structures.md
│   └── ...
├── references/         # Source material with my annotations
│   ├── books/
│   ├── papers/
│   └── talks/
└── maps/               # Maps of Content (entry points into clusters)
    ├── knowledge-management.md
    ├── distributed-systems.md
    └── ...

This is a modified PARA (Projects, Areas, Resources, Archives) structure with two additions: concepts/ and maps/. The hierarchy is shallow (two levels max). The concepts/ folder is flat, just a pile of atomic notes connected by links. The maps/ folder contains MOCs (Maps of Content), which are exactly what they sound like: curated index notes that serve as entry points into clusters of related concepts.

The key design choice: hierarchy at the top level (for orientation), flatness at the concept level (for connection). Projects and areas give me structural scaffolding so I know where active work lives. Concepts give me a flat graph so ideas can connect across projects and areas without being trapped in a single folder.

Atomic Notes vs. Long Documents

The Zettelkasten method prescribes atomic notes: one idea per card, written in your own words, linked to related cards. Andy Matuschak calls these “evergreen notes” and describes them as concise, atomic notes designed to capture enduring insights that evolve over time.

I tried pure atomic notes for six months. Every note was one paragraph, one idea, heavily linked. Here’s what I learned: atomicity is right for concepts but wrong for projects.

When I’m developing an idea that might become a blog post or an architecture decision, I don’t want to hop between 30 tiny notes. I want a working document where I can think in long form, rearrange sections, see the full argument taking shape. Trying to compose that from a constellation of atomic fragments is like trying to write a novel by shuffling index cards. It works for some people (Nabokov famously did it), but for me the cognitive overhead of maintaining the graph eclipsed the benefit.

So the rule became:

  • concepts/: Atomic. One idea, one note. Written in my own words, not copied from a source. Must include at least one link to an existing concept note. If it can’t link to anything, it’s either too isolated to be useful or I haven’t processed it enough.
  • projects/: Long documents. Working drafts, outlines, research dumps. Messy is fine. These are workbenches, not finished products.
  • references/: Annotated source material. Not full highlights. My reactions, questions, and disagreements with the source. The annotation is more important than the highlight.

This hybrid approach gives me the best of both: a growing concept graph for long-term knowledge, and working documents for active production.

There are three mechanisms for organizing notes: folders (spatial), tags (categorical), links (relational). Every PKM tool supports some combination. The question is which to emphasize.

Mechanism Good at Bad at
Folders Orientation, project boundaries, clear ownership Cross-cutting concerns, notes that belong in multiple places
Tags Filtering, faceted search, multi-category membership Discoverability (tags proliferate and become meaningless)
Links Surfacing unexpected connections, building concept graphs Scale (maintaining link integrity across thousands of notes)

My system uses folders + links. No tags.

This is a controversial choice. Tags are the default organizational primitive in most tools. But I’ve watched my tag namespace grow to 200+ tags, at which point the tags themselves need organization, and I’m building a system to manage the system. Tags also create the illusion of organization without requiring thought. Slapping #productivity on a note takes no cognitive effort and adds no semantic value. A link to a specific concept note, by contrast, forces you to articulate the relationship.

The exception: I use tags for exactly two things. Status (#inbox, #processing, #evergreen) and content type (#book, #paper, #talk). That’s five tags. They function as metadata, not as an organizational system.

The Processing Pipeline (Where Most Systems Die)

Capture is easy. Every tool makes capture easy. The hard part is processing, the stage where most second brains become digital landfills.

My processing pipeline has four stages, and each one is a forcing function that prevents accumulation without comprehension:

Inbox → Processing → Concept/Reference → Map

Stage 1: INBOX
  Capture anything. No friction. No formatting.
  Rule: inbox must be empty by end of week.

Stage 2: PROCESSING
  Read the note. Ask: does this relate to something I'm
  writing, building, or deciding?

  YES → Write a concept note or add to a project doc
  NO  → Delete it, or move to a read-later app

  Rule: if it's been in processing for 2 weeks, delete it.
  If it was important, it'll come back.

Stage 3: CONCEPT or REFERENCE
  Concept: write the idea in my own words. Add at least
  one link. Keep it to 1-3 paragraphs.

  Reference: annotate the source. My reactions, not their words.
  Include bibliographic info for citation.

Stage 4: MAP UPDATE
  If the new concept creates a cluster with 5+ related notes,
  create or update a Map of Content.

The brutal part is stage 2. The “if it’s been in processing for 2 weeks, delete it” rule feels wasteful. You saved it for a reason, right? Probably not. If you can’t process it within two weeks, one of two things is true: it’s not relevant to anything you’re actively doing, or it’s too complex to absorb right now and you need to encounter it again when you have more context. Either way, letting it rot in a queue serves no one.

This pipeline processes roughly 30-40 items per week into about 5-8 concept notes and 2-3 project additions. The compression ratio is intentional. Most of what I encounter isn’t worth a permanent note. Accepting that is liberating.

Retrieval Over Storage: The Andy Matuschak Insight

Andy Matuschak makes a point that changed how I think about knowledge systems: spaced repetition systems can be used to program attention. The conventional view of spaced repetition is that it’s for memorizing facts (language vocabulary, medical terminology, etc.). Matuschak argues it’s more powerful than that. When you write a spaced repetition prompt, you’re giving your future self a recurring task. You’re deciding what to keep in active memory. You’re programming your attention.

I don’t use a formal SRS (spaced repetition system) like Anki inside my PKM. But I borrowed the core insight: a knowledge system should prioritize retrieval over storage. The value of a note is not that it exists. The value is that you can find it when you need it and that finding it triggers useful thinking.

This shows up in three design choices:

1. Write for your future self, not your present self. When I write a concept note, I write it as if I’m explaining the idea to myself six months from now, when I’ve forgotten the context. This means more complete sentences, less shorthand, and always including why I think this idea matters, not just what the idea is.

2. Link to create retrieval paths, not just to “connect.” Every link should answer: “In what future situation would I want to find this note?” If I’m writing about retrieval practice and I link to testing-effect.md, it’s because when I’m thinking about learning strategies in the future, I want retrieval practice to surface alongside the testing effect. The link is a retrieval path, not a semantic decoration.

3. Maps of Content as retrieval entry points. I don’t browse my notes by folder. I enter through MOCs. My knowledge-management.md MOC has a curated list of the 15-20 concept notes most relevant to how I think about PKM, with one-line annotations explaining why each one matters. When I’m writing an article like this one, I open that MOC and I can see the landscape of my thinking on the topic in 30 seconds.

Where AI Fits (And Where It Doesn’t)

This is the section where I’m supposed to tell you that AI changes everything. It doesn’t. But it changes some specific things in useful ways, and it introduces new failure modes that are worth understanding.

What AI does well in a PKM context

Semantic search. Traditional keyword search requires you to remember the exact words you used. Embedding-based semantic search lets you search by meaning. “That note about why hierarchical structures fail at scale” will find a note titled “flat-vs-nested-organization.md” even though the query shares no keywords with the title or content. This is a genuine improvement over keyword search, and tools like Obsidian (with the Smart Connections plugin) and Notion AI offer it natively.

Summarization of source material. When I’m processing a 40-page paper, I’ll use Claude to generate a structured summary: key claims, methodology, findings, limitations. Then I read the summary, check it against my skim of the paper, and write my own reaction note. The AI summary is scaffolding, not the note itself. This cuts processing time for dense source material by roughly 60%.

Connection suggestion. Some tools (Mem, Reflect, Obsidian with plugins) can suggest links between notes based on semantic similarity. These suggestions are right about 30% of the time, in my experience. That sounds low, but the 30% that’s right often surfaces connections I wouldn’t have made manually. The 70% that’s wrong is easy to dismiss.

Question answering over your own corpus. RAG (retrieval-augmented generation) over personal notes is becoming viable. You embed your notes into a vector database, and when you ask a question, the system retrieves relevant notes and synthesizes an answer. This works well for factual recall (“What did paper X say about Y?”) and poorly for nuanced synthesis (“What’s my current position on Z?”). Your position on Z is distributed across dozens of notes written at different times with different levels of conviction, and the model flattens that into a single confident-sounding paragraph.

What AI does poorly

Processing for you. The entire value of writing a concept note is the cognitive work of translating someone else’s idea into your own words, connecting it to what you already know, and deciding what matters. If AI does that work, you get a well-formatted note that you haven’t actually thought about. This is the collector’s fallacy with a fancier interface.

Auto-organization. AI can suggest where a note should go and what it should be tagged with. In practice, this removes the friction that forces you to think about relationships. The friction is the feature. When I decide where a concept note links, I’m doing the intellectual work that makes the note retrievable later. Outsourcing that to AI is like outsourcing your gym reps to a robot: the machine did the exercise, but you didn’t get stronger.

Replacing your judgment about what matters. AI can surface everything related to your query. It cannot tell you which of those things matter for the specific thing you’re trying to write, build, or decide right now. That judgment is yours, and it’s the core skill that a PKM system should develop, not replace.

Here’s my rule of thumb:

AI for RETRIEVAL:    Yes. It's better than keyword search.
AI for PROCESSING:   Scaffolding only. You write the final note.
AI for CONNECTING:   Suggestions only. You approve or reject.
AI for ORGANIZING:   No. The friction is the feature.
AI for JUDGMENT:     No. This is the skill you're building.

The RAG-over-notes architecture (if you want to build it)

For those who want to get technical, here’s the architecture I use for AI-augmented retrieval over my notes:

                    ┌──────────────┐
                    │  Query (NL)  │
                    └──────┬───────┘
                           │
                    ┌──────▼───────┐
                    │   Embed      │
                    │  (voyage-3)  │
                    └──────┬───────┘
                           │
              ┌────────────▼────────────┐
              │  Vector Store (local)   │
              │  ChromaDB / LanceDB    │
              │  ~900 embedded notes    │
              └────────────┬────────────┘
                           │
                    Top-k retrieval
                    (k=10, cosine sim)
                           │
              ┌────────────▼────────────┐
              │  Reranker (optional)    │
              │  Cohere rerank-v3.5     │
              └────────────┬────────────┘
                           │
                    Top-3 reranked
                           │
              ┌────────────▼────────────┐
              │  LLM synthesis          │
              │  Claude / GPT-4o        │
              │  + system prompt with   │
              │  note context           │
              └────────────┬────────────┘
                           │
                    ┌──────▼───────┐
                    │   Answer     │
                    └──────────────┘

The embedding model matters. I use Voyage-3 because its performance on document-level similarity is strong and the API is simple. The vector store is local (ChromaDB or LanceDB) because my notes are personal and I don’t want them on someone else’s server. The reranker is optional but improves precision noticeably when the initial retrieval pulls in loosely related notes.

I re-embed on a cron job whenever notes change. The whole corpus (900 notes) embeds in about 45 seconds on Voyage-3. Not a bottleneck.

The system prompt matters more than the retrieval pipeline. I tell the model: “You are answering based on my personal notes. Cite which notes you’re drawing from. Flag when the notes are ambiguous or contradictory. Do not fill in gaps with external knowledge unless I ask.” That last instruction is critical. Without it, the model will confidently hallucinate answers using its training data and present them as if they came from my notes.

The Weekly Review (10 Minutes, Not 2 Hours)

Every PKM guru prescribes a weekly review. Most prescriptions involve 1-2 hours of going through every note, every project, every someday-maybe list. I did that for about three months before I stopped, because a 2-hour weekly review is a part-time job and I have a full-time one.

My weekly review takes 10 minutes. It has three steps:

  1. Empty the inbox (3-5 minutes). Process or delete everything. No exceptions. If the inbox has more than 20 items, I’m capturing too aggressively and I need to raise my threshold.

  2. Scan the MOCs (3-4 minutes). Open each active MOC. Does the landscape still match my understanding? Are there stale links? New connections to add? This is a quick visual scan, not a deep review.

  3. Check the project docs (2-3 minutes). For each active project, one question: what’s the next concrete action? If I can’t answer that in 10 seconds, the project doc needs work.

That’s it. No full-vault review. No re-tagging. No reorganization. If the system needs major reorganization, that’s a signal that the architecture is wrong, not that I need to spend more time maintaining it.

The Concept Note Template

Every concept note in my system follows this structure:

# [Concept Title]

[2-4 sentences explaining the concept in my own words.
Not a definition. My understanding of why it matters.]

## Key Insight

[The single most important thing about this concept.
If I remember nothing else, I should remember this.]

## Connections

- [[related-concept-1]] - [one sentence on how they relate]
- [[related-concept-2]] - [one sentence on how they relate]

## Source

[Where I encountered this. Author, title, date.
Link if available.]

## My Take

[What I agree with, disagree with, or want to explore further.
This section is what makes it MY note, not a Wikipedia summary.]

The “My Take” section is non-negotiable. Without it, the note is a reformatted version of someone else’s thinking. With it, the note records an act of intellectual engagement. Six months from now, “My Take” is the section that tells me whether past-me agreed with this idea, had reservations, or wanted to test it further. That’s the information that’s actually hard to reconstruct from scratch.

What This System Actually Produces

In the 18 months since rebuilding, here’s what the system has directly supported:

  • 12 blog posts, including this one. Each one started as a working document in projects/ that pulled from concept notes and MOCs. The concept graph meant I could see related ideas and make connections I wouldn’t have made from memory alone.

  • A technical book outline for a project I’m working on. The outline draws from about 40 concept notes across three different MOCs. Restructuring the outline meant rearranging links, not rewriting content.

  • ~20 architecture decisions at work. When someone asks “should we use event sourcing for this?” I can open my distributed-systems.md MOC, find my annotated notes on event sourcing tradeoffs, and give an answer grounded in my prior thinking rather than my current mood.

  • Side projects that shipped. The physics engine audit I wrote about recently was directly informed by concept notes on multi-agent orchestration, evaluation methodology, and epistemic validation that I’d been building up for months before I needed them.

None of this output happened because I had a large note collection. It happened because the system’s architecture prioritized processing over capture, retrieval over storage, and production over accumulation.

The Uncomfortable Truth About PKM

Here’s the thing nobody in the PKM community wants to say: most people don’t need a second brain. They need a first brain that works better. And the way to make your first brain work better is not to offload everything into an external system. It’s to engage deeply with fewer things, write about them in your own words, and revisit them on a schedule that keeps them in active memory.

A second brain is useful when you’re working across multiple domains (writing, coding, research, management) and the volume of relevant knowledge exceeds what you can hold in your head. It’s useful when you’re producing output that draws from a body of prior work. It’s useful when you need to make decisions that should be consistent with decisions you made six months ago.

It’s not useful as a trophy case of things you’ve read. It’s not useful as a procrastination tool that feels like productivity. And it’s not useful if the maintenance cost exceeds the production benefit.

The architecture I’ve described has about 900 notes, takes 10 minutes a week to maintain, and has a clear purpose: to help me write, build, and decide. It’s not impressive on Instagram. Nobody is going to make a YouTube video about a vault with 900 notes. But it works, and working is the only metric that matters.

Building Your Own: The Decision Framework

If you’re building a PKM system from scratch or rebuilding one that isn’t working, here are the decisions that actually matter, in order:

Decision 1: What is this system for?

Write it down. One sentence. “This system exists to help me [verb] [noun].” If you can’t be specific, you’re not ready to build the system. You’ll just build another trophy case.

Decision 2: What’s your processing commitment?

Be realistic. If you’ll spend 15 minutes a day processing notes, design for that. If you’ll spend 5 minutes, design for that. The system must be sustainable at your actual engagement level, not your aspirational one.

Decision 3: Flat or hierarchical?

My recommendation: hierarchical at the top level (projects, areas, concepts, references), flat within the concept layer. This gives you orientation without premature structure.

Decision 4: What’s your pruning mechanism?

Every system needs a way to say “this doesn’t belong here.” Without it, entropy wins. My mechanism is the two-week inbox rule and the “write, build, or decide” filter. Yours can be different, but it must exist.

Decision 5: What tool?

This is the least important decision, which is why it’s last. The tool matters less than the architecture. That said, here’s a quick decision guide:

If you… Consider
Want local-first, Markdown, plugin ecosystem Obsidian
Want structured databases and team collaboration Notion
Think in outlines and want block-level granularity Logseq
Want typed objects and schema-driven organization Tana or Capacities
Want zero-friction capture and AI-native search Mem or Reflect
Want to own your data and don’t care about features A folder of Markdown files and ripgrep

The last option is not a joke. A folder of Markdown files, a good text editor, and rg (ripgrep) for search is a perfectly functional PKM system. It scales to tens of thousands of files, it’s future-proof (Markdown will outlive every app on this list), and it forces you to build habits rather than rely on features.

The System Is Not the Point

The most insidious trap in personal knowledge management is spending more time building the system than using it. I’ve been there. I’ve spent entire weekends customizing Obsidian themes, writing Dataview queries, building dashboard notes with dynamic metadata. It was fun. It produced nothing.

The system is scaffolding. The point is the building. If you’re writing, coding, deciding, and creating, and the system is supporting that work invisibly in the background, you have a good system. If you’re spending significant time on the system itself, you have a hobby disguised as productivity.

Luhmann didn’t write 50 books because he had a great filing system. He wrote 50 books because he spent decades thinking carefully about sociology, and his filing system made that thinking cumulative rather than ephemeral. The Zettelkasten was the tool. The thinking was the work.

Build a system that makes your thinking cumulative. Keep it simple enough that you’ll actually use it. Optimize for output, not input. And when someone asks you how many notes you have, the right answer is: “I don’t know. But here’s what I made with them.”

Continue Reading

Epistemology of AI Knowledge

Next page →