Studio. Building.
Caddy
I built Caddy because every product I worked on needed the same orchestration layer, and nobody had built one that respected the way real product work actually happens.
Thesis.
Caddy is the product development operating system I built because every product I have worked on needed the same orchestration layer, and nobody had built one that respected the way real product work actually happens.
The pipeline runs through six specialized AI agents. A Product Interviewer that conducts a structured discovery conversation. A Clarity Analyst that scores the idea across six dimensions. A Brief Architect that synthesizes a twelve-section structured brief. A Scope Guardian that negotiates MVP scope with explicit inclusion and exclusion logic. A Feature Mapper that decomposes the system. A Story Writer that produces user stories with proper acceptance criteria.
Each agent has a persona, a system prompt, a structured output schema, and a deterministic fallback that produces valid output without any API call. Caddy works without API keys. The AI makes the output better. The pipeline never breaks.
The hidden architecture.
The architecture beneath Caddy is a single rule. All external interactions go through one interface. Linear, GitHub, Obsidian, LLM providers, code executors, browser verifiers. None of them are called directly anywhere in the codebase. They are accessed through a ToolRuntime boundary that exposes twenty-eight capabilities across eight groups, all behind a single method signature.
That boundary makes external tools pluggable. The current implementation runs everything locally. The next implementation could route the same capability calls to remote workers without touching a single workflow. The orchestration layer does not know or care which runtime is underneath.
Long-term.
Caddy is internal infrastructure first. The version I use to ship my own work, including the version that ships Caddy itself. Once the orchestration layer is stable, the path forward is to generate full Nx workspaces from the spec output, sync execution into Linear automatically, and run autonomous implementation loops through external executors behind the same ToolRuntime boundary.
The eventual question is whether Caddy becomes a product or stays a private foundry. The decision waits for the orchestration to prove itself across enough of my own products first. Internal use is the test.