From Vibe Coding to Specification Driven Development
I was "vibe coding" — throwing requirements at Claude and hoping for the best. It worked 80% of the time. The other 20%? Debugging 15 interconnected AI outputs at 2am.
The problem wasn't the AI. It was me treating it like magic instead of engineering.
So I went back to basics. Not 1995 basics — but the principles that made software reliable before we had autocomplete:
- Specs with boundaries.
- Tests that actually run.
- Verification that isn't "looks good".
The 5-Phase Pipeline
① Raw idea → formalized spec (human + AI collaboration)
② Big spec → Micro-specs with acceptance criteria
③ Hierarchical agents — Architect delegates, never writes
④ Domain experts execute — iOS dev, backend, even a steam systems engineer
⑤ Hard gate — tests pass or it loops back. No exceptions.
The key insight that changed everything:
"The agents don't decide when they're done. The tests do."
More on the implementation details in future posts.