
Obsidian Brain: A Personal Knowledge Base That AI Can Read
Over a year ago, I started an experiment: organizing every relevant piece of information, every project, contact, and decision into a single Obsidian vault. Today, the system consists of 59 markdown files, 218 wikilinks, and 10 directories. This is not a note-taking app. It is an AI-augmented knowledge base that automatically loads at the start of every Claude Code session.
The Problem
In a developer's daily life, information scatters everywhere. Projects in Notion, TODOs on sticky notes, contacts in your head, infrastructure details buried in forgotten terminal history. When an AI assistant helps with your work, every session starts from zero: it doesn't know what projects you have, what technologies you use, or what decisions you made before.
This context loss is the biggest bottleneck of working with AI. The model's capability is not the limit. The limit is that it doesn't know what you know.
The Structure
The vault is organized into 10 directories, each responsible for a well-defined domain:
obsidian-brain/
├── 00-en/ # Profile, tech stack, accounts
├── 01-projektek/ # 30+ active projects
├── 02-tanulmanyok/ # University, courses
├── 03-emberek/ # 40+ contacts
├── 04-szervezetek/ # Companies, institutions
├── 05-infrastruktura/ # Servers, domains, MCP
├── 06-uzlet/ # Monetization, strategy
├── 07-tudastar/ # Articles, knowledge base
├── 08-naplo/ # Daily notes
├── 99-archiv/ # Archived projects
├── _anatomy.md # Master index
└── CLAUDE.md # AI auto-context
Every directory contains an _index.md table of contents. The root-level _anatomy.md is the file index of the entire vault: every file's name, purpose, and size in one place. This is what the AI reads at the start of a session to decide what it actually needs to open.
Frontmatter: Searchable Metadata
Every file starts with YAML frontmatter that provides structured metadata:
---
tags: [project, active, nextjs, portfolio]
status: active
path: /home/gabor/code_projects/portfolio/
deadline: 2026-06-01
---
The tags field makes content searchable, status filters between active and archived projects, and path gives a direct link to the codebase. The AI uses these to quickly find relevant context without reading the entire vault.
Wikilinks: The Knowledge Graph
Notes in the vault connect to each other using [[wikilink]] syntax. From a project file, you can reference related people, organizations, or infrastructure:
# Portfolio
Personal portfolio website.
Deploy: behind [[contabo-vps]] Caddy reverse proxy.
Development: with [[claude-code-setup]] integration.
Client: from the [[freelancer-clients]] list.
This is not linear note-taking. It is a graph. Obsidian's graph view shows connections visually, but the real value is that AI also follows these links and understands the context.
CLAUDE.md: The AI Entry Point
A CLAUDE.md file in the vault root contains instructions for the AI. Claude Code reads it automatically when running in the vault directory:
# Obsidian Brain - Claude Code Context
## Vault navigation
Before reading anything, check _anatomy.md first!
It contains every file's purpose and size.
## Rules
1. Always read _anatomy.md first
2. Each directory has _index.md - the directory's TOC
3. [[wikilink]] marks connections to other notes
4. Use frontmatter tags and status fields for searching
This file ensures the AI doesn't blindly search the vault but navigates according to the structure. It reads the file index first, then decides what needs a closer look.
Why This Works With AI
Traditional note-taking helps human memory. Obsidian Brain goes further: it extends the AI's memory too. When I start a Claude Code session, the AI already knows after reading the context:
- What active projects I have and what phase they're in
- What tech stack I use, what decisions I made before
- What infrastructure runs the system
- Which related notes to check for a given task
Without this, I would have to explain the background at the start of every session. With the vault, it is automatic.
A Practical Example
When I tell Claude: "check the portfolio project and update the deploy config," here is what happens:
- Based on
CLAUDE.md, it reads_anatomy.md - It finds
01-projektek/portfolio.md - From there, it gets the
path(codebase location) and deploy info - The
[[contabo-vps]]link leads to the server configuration - It performs the actual work with full context awareness
This is not magic. It is good structure. The AI is exactly as useful as the context you give it.
I'm Not the Only One Who Thinks This Way
Andrej Karpathy (former Tesla AI lead, OpenAI co-founder) wrote in April 2025 about how LLMs are increasingly used for building and maintaining knowledge bases, not just manipulating code. He indexes raw source material into a raw/ directory, then the LLM "compiles" a wiki from it: markdown files, backlinks, concept articles, automatic categorization. Obsidian serves as the viewer frontend, but maintaining the content is the AI's job.
Obsidian Brain follows exactly this pattern: structured markdown that AI navigates and works with, rather than being manually edited by the user.
Lessons Learned
Building the Obsidian Brain revealed several things.
Structure matters more than volume. 59 files are enough when well-organized. A thousand unstructured notes are worth less.
The _anatomy.md is the most important file. It is the "table of contents for the tables of contents," enabling the AI (or a human) to orient itself in seconds.
The vault is not static documentation. It is a working tool. It gets updated daily. Projects come and go, contacts expand. The key is that the structure stays stable while the content changes.
The most important insight: an AI assistant does not become truly useful because you run a smarter model. It becomes useful because you give it better context. Obsidian Brain provides that context.
You can find the open-source template of this vault among my portfolio projects. If you want to build a similar system, start with the directory structure and the CLAUDE.md file. Daily use will shape the rest.