From Vibe Coding to Spec-Driven Development
Summary
The article introduces spec-driven development (SDD) as an evolution from "vibe coding" in the AI era, emphasizing structured planning and documentation for building analytical tools and web applications. Coined by Andrej Karpathy in February 2025, "agentic engineering" describes orchestrating AI agents with human oversight against detailed specifications. SDD addresses the limitations of iterative, unstructured "vibe coding," such as context decay and lack of shared conventions, by decoupling specification from implementation. The author demonstrates SDD by building "Trainlytics," a personal fitness tracking web app, using Visual Studio Code with the Claude Code plugin. The process involves defining a "constitution" (mission, tech stack, roadmap), iterating through feature development (plan, implement, validate), and regular replanning, taking approximately 4.5 hours to create a usable product.
Key takeaway
For AI Engineers and Data Analysts building complex applications, adopting spec-driven development is crucial. This approach mitigates issues like context loss and inconsistent codebases inherent in "vibe coding," especially in multi-developer environments. By focusing on detailed specifications and architectural decisions upfront, you can ensure higher quality software and more efficient development cycles, shifting your role towards strategic oversight rather than direct code generation.
Key insights
Spec-driven development with AI agents offers a structured approach to building software, enhancing collaboration and maintaining context.
Principles
- Decouple specification from implementation.
- Preserve context across AI agent sessions.
- Prioritize human oversight and architectural decisions.
Method
Define a project constitution (mission, tech stack, roadmap), then iterate through feature phases: plan, implement, and validate. Regularly replan to align with evolving goals and update specifications.
In practice
- Use markdown specifications stored in the repository.
- Make all changes through the agent to maintain consistency.
- Employ a second agent for reflection and plan critique.
Topics
- Spec-Driven Development
- Agentic Engineering
- Vibe Coding
- LLM Agents
- Software Development Workflow
Code references
Best for: AI Engineer, Machine Learning Engineer, Software Engineer
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by Towards Data Science.