Obsidian was my beautiful, over-organized graveyard. Claude Code was my brilliant intern who forgot everything after every shift.
Then I wired them together and stopped taking notes entirely. My stack started taking them for me.
This is not another "second brain" aesthetic post. This is the duct-taped, actually-working memory system that runs my dev life.
Obsidian knew everything I had thought. Old meeting notes, half-baked ideas, that snippet from 2022 I swear I would need later. Local, fast, mine. But dumb. It couldn't do anything.
Claude Code could do everything I wanted. Write code, refactor, ship features, run tests. But it had the memory of a goldfish on espresso. Every new session was "Hi, who are you and what is this codebase?"
I was the human API between them. Copying context from Obsidian into Claude. Copying what Claude did back into Obsidian. I was a very expensive clipboard.
Three pieces. No vector database, no fancy SaaS, no $20/month AI wrapper that will die in 6 months. Obsidian Vault as the Source of Truth My vault lives at ~/vault. It's just Markdown. No database, no lock-in. Structure: Claude Code with CLAUDE.md Every project has a CLAUDE.md that Claude reads on startup. It's not a prompt. It's the operating manual.
Mine looks like this: The Glue: A 20-line script that syncs them Claude Code writes to Markdown. Obsidian reads Markdown. That's it. That's the integration.
echo "- $(date): $CLAUDETASK - files: $FILESCHANGED - lesson: $LEARNED" >> ~/vault/00-inbox/changelog.md
Morning: I open Obsidian. In 00-inbox there is already a summary from last night. Claude finished the auth refactor at 11pm, wrote what it changed, what broke, what it learned. I didn't ask it to. It just does because CLAUDE.md told it to.
During work: I don't prompt Claude with "here is the context." I prompt it with "read /02-memory/decisions.md and fix the billing bug like we did last time."
Claude does this, without me pasting anything: Opens 02-memory/patterns/rate-limiting.md - which it created Reads the existing implementation Applies it to the new route Writes a new entry: 03-docs/rate-limiting.md - added to /api/numbpilled, limit 100/min
The magic moment: Last Tuesday I searched Obsidian for "why did we choose Hono over Express?" The answer was there. Not written by me. Written by Claude three weeks ago after I asked it to compare frameworks. It had appended its reasoning to 02-memory/decisions.md.
Most tools try to be smart. This stack tries to be inspectable. It's just files. If Claude hallucinates, I open the Markdown and delete the line. No black-box vector DB to re-index. It compounds. Every session makes the next one smarter. My CLAUDE.md files are getting better without me editing them. Claude improves its own manual. It works offline. My vault is local. My memory is local. When the API is down, I still have my brain. It kills context switching. I live in Obsidian. Claude lives in the terminal. They meet in the middle as Markdown. I never copy-paste between them anymore.
I used to spend 6 hours a week on "knowledge management." Now I spend zero. The system manages itself.
Day 1 - Make Claude write your memory: Create ~/vault/02-memory/decisions.md and add this to your CLAUDE.md:
After every significant task, append 2-3 bullets to ~/vault/02-memory/decisions.md: what you did, why, what to avoid next time.
Day 2 - Make Obsidian your prompt library: Create ~/vault/03-docs/prompts/ and save your best prompts as Markdown files. Then tell Claude: "Your prompt patterns live in ~/vault/03-docs/prompts/, use them."
