How I build with AI. Infrastructure first, automation last.
AI sessions are stateless by default. Every conversation starts from zero. This is the system I built to fix that — shared state at the bottom, session roles at the top, each layer solving a specific problem in the chain from scattered data to "Claude already knows what I'm working on."
I was running five ventures and a day job out of 10-15 hours a week. Every Claude session started with me re-explaining who I am, what I'm building, and what we decided last time. That's not a minor inconvenience — it's a compounding tax. The more I build, the more context each session needs, and the less of my 15% actually goes to building.
The first instinct was to use Claude's built-in memory. It handles "who is Daniel" well enough. But it can't tell you what phase the PKM project is in, what the last architecture decision was, or which of three financial models we picked for the composter business. Memory is a summary. I needed a system of record.
Folder-based organization. Started here. Ended up with a category debate every time I saved a note. A freight conversation that touches career planning — where does it go? Tags and links replaced folders entirely. The vault uses a flat structure with a 14-dimension taxonomy and 2,599 auto-generated wikilinks.
Single-surface approach. Claude Code can do everything, so why not keep everything there? Because different cognitive modes need different tools. Strategic planning works better on Desktop with Cowork. Quick lookups work better on the web. The system had to be surface-agnostic, which meant the shared state layer (L1) had to exist independently of any surface.
Automation first. The temptation was to build scheduled pipelines immediately. But the data model wasn't right yet. I spent weeks on vault structure, taxonomy design, and MCP tools before writing a single cron job. Getting the primitives right meant the automation layer, when it came, was trivial to build. The reverse order would have automated a bad foundation.
The value chain emerged, it wasn't designed. I built /architect for gap assessments and /pm for prioritization as separate tools. After a few sessions I noticed they naturally produced artifacts the other consumed — architect handoff notes became PM inputs. The sequential pipeline (/architect → /pm → /program → build) wasn't planned. It was discovered.
Feedback loops matter more than any individual skill. /debrief — the skill that writes session learnings back to NorthStar, CLAUDE.md, and the backlog — is the single most important component. Without it, every session is an island. With it, every session makes every future session better. The system compounds because the write-back layer exists.
Slash commands beat every alternative. I evaluated fine-tuning, system prompts, and custom GPT-style configurations. Slash commands (markdown files in ~/.claude/commands/) won because they're version-controlled, editable in any text editor, and compose with the layers below them. No vendor lock-in. No configuration UI. Just files.
Build the /debrief feedback loop earlier. I ran dozens of sessions before formalizing the write-back mechanism. Every one of those sessions produced learnings that were trapped in conversation history instead of flowing into the system. The compounding only starts when the loop closes.
Skills form a pipeline, not a flat menu. Each one produces artifacts the next one consumes. Hover any node to trace its connections.
/program reads Architect Handoffs — it doesn't call /architect./debrief is what makes the system compound./sprint and /debrief wrap any session regardless of which role is active.Four layers, bottom-up. Each one solves a specific problem in the chain from scattered data to persistent, context-aware sessions.
| Layer | What it solves | Contains | |
|---|---|---|---|
| L4 | Session Roles | Every session starts cold without context. Roles prime Claude with behavior, constraints, and automatic state retrieval. | 15 slash commands — pipeline, lateral, wrappers, utilities |
| L3 | Surfaces | Different cognitive modes need different tools. Code for building, Desktop for planning, Mobile for reviewing. | Claude Code, Desktop, Web, Remote Control, Obsidian Mobile |
| L2 | Data Pipelines | Conversations die when sessions end. Pipelines make every insight searchable and available to future sessions. | Claude.ai sync, Notion sync, Apple Notes sync |
| L1 | Shared State | Surfaces don't share context natively. The vault is the shared brain that makes everything else stateful. | Obsidian vault, MCP server (7 tools), NorthStar, CLAUDE.md, Memory |
Built on 7 operating tenets — the decision framework behind every layer.