Zero → Validate
Before any feature code exists, lay the harness memory, fan out parallel read-only discovery to scope the problem cheaply, and narrow the build to the single riskiest assumption that could kill the product. At this phase my irreplaceable contribution is the spec, not the code — the agent is the spec's execution surface.
Harness memory before features
I write the project constitution first — CLAUDE.md / AGENTS.md with architecture conventions, coding standards, deployment procedure, agent-permission boundaries, and the non-obvious gotchas. That's the onboarding doc a team gets for free; solo, it's the only thing that keeps agent output coherent across context resets, because most agent failures are context failures, not model failures. I prune it ruthlessly so the important instructions don't drown in a kitchen-sink of noise, and I check it into git so the harness evolves with the codebase.
- Harness engineering
- AI agentic engineering
- Senior SWE craft
Fan-out discovery before feature code exists
Before committing to a build I run discovery in read-only mode: a lead decomposes the question and a handful of parallel subagents explore the problem space — library surveys, codebase reconnaissance, API and integration constraints, alternative architectures — each returning a condensed summary I synthesize into a recommendation. This is the parallel-discovery staffing cost a team would split across people, and it's exactly the read-heavy work where multiple fresh contexts beat one. No writes happen here, so the single-writer law is never touched; the output is decision-quality input to the spec. The mechanics live on my /workflows page as fan-out-and-synthesize.
- Multi-agent orchestration
- AI agentic engineering
- Product engineering
Interview-to-spec to surface the unknowns
I run an interview pass that probes implementation, UI/UX, edge cases, and tradeoffs until the hard parts are covered, then write a spec that names the files and interfaces in play and what is explicitly out of scope. The interview routinely surfaces unknowns that would otherwise be discovered expensively mid-build. The spec becomes the shared source of truth that survives context resets and agent handoffs — the artifact that lets one person hold product coherence without a PM or an architect in the room.
- AI agentic engineering
- Senior SWE craft
- Product engineering
Scope the MVP to the single riskiest assumption
Spec quality is the binding constraint, not model capability — so I subtract first. I find the one hypothesis that, if wrong, kills the product, and build only enough to falsify it against a real-user threshold instead of a vanity launch. Cheap agent-generated code biases toward building more; the discipline is to build less. Every task queued past the riskiest-assumption boundary is premature work that multiplies maintenance and instrumentation noise later.
- Product engineering
- Senior SWE craft
- AI agentic engineering
Choose managed services to delete whole domains
I default to managed and serverless platforms — hosting, database and auth, payments, compute — to transfer the infrastructure ownership surface to vendors for a fixed subscription. This isn't cost-cutting; it deletes the second full-time job of being a systems administrator and frees bandwidth for product and agent orchestration. At zero-to-one I deliberately over-index on managed services and bring infrastructure in-house only when a concrete measured constraint forces it. Every self-hosted service is a future on-call incident with no on-call team.
- DevOps/SRE
- Product engineering
- Senior SWE craft