chaidocs
Spec Driven Development for AI Apps

Spec-Driven Development with AI

Anirudh Jwala 13 pages 3 min read Updated Oct 21, 2026
On this page
  1. Spec-Driven Development with **AI**
  2. Hi, I'm **Anirudh Jwala**
  3. Be **honest** for a second
  4. "Add Event Bookings." What Did We Forget to **Decide**?
  5. How we work with AI has **changed**
  6. From delegating code to delegating **decisions**
  7. Code is cheap. **Ownership** is not.
  8. Your fundamentals are your **passport**
  9. Two users, **one** seat, same moment
  10. Working code doesn't mean the right **problem** was solved.
  11. Why this matters for **you**
  12. Two ways to describe the same **project**
  13. If AI can write the code, who defines what **correct** means?

Spec-Driven Development with AI

From vibe coding to building with intent.

chaicode.com

About the speaker

Hi, I'm Anirudh Jwala

Senior Software Engineer · Building & Teaching Software

  1. 01EarlyBuilt products across SportsTech & EdTech
  2. 02NowWorking in FinTech, building software used by businesses
  3. 03Beyond WorkTeaching Java, Spring Boot & AI at ChaiCode
  4. 04More onanirudhjwala.in
chaicode.com

Quick question

Be honest for a second

  1. 1How many of you have shipped something with AI?
  2. 2Could you explain why the AI made those decisions?
chaicode.com

Correct code, wrong problem

"Add Event Bookings." What Did We Forget to Decide?

  • Can a user book twice for the same event?
  • Does cancelling release the seat?
  • Can one user cancel another user's booking?
  • What happens when two users grab the last seat at the same moment?
chaicode.com
Notes
The prompt 'Add event bookings' produces a button, an endpoint and a database insert, and it demos fine. But none of these rules were ever decided, so the AI either guessed or ignored them. The code is correct for the problem as it was stated. The problem was simply under-specified.

The shift

How we work with AI has changed

  1. 01AutocompleteAI types, you decide
  2. 02Prompt to codeAI writes functions
  3. 03Repo-aware agentsAI explores and changes your codebase
  4. 04Autonomous workflowsAI can plan, implement, and test
  5. 05The questionWho is making the decisions now?
chaicode.com
Notes
We started with autocomplete, where AI typed and we decided. Then came prompt to code, then agents that understand the repo and edit many files at once. Now autonomous workflows plan, build and test on their own. At each step we hand over more. The last box is the real question: who is making the decisions now?

Delegating decisions

From delegating code to delegating decisions

  • "Build an event booking feature."
  • "Choose how reservations should be stored."
  • "Handle cancellations and edge cases."
  • "Make whatever architectural changes are necessary."
chaicode.com
Notes
Look at how vague these prompts are. Each one quietly hands over a product decision, not just a coding task. 'Appropriately' and 'whatever needs improvement' leave the AI to guess what we meant. Key line: more context about the code is not the same as understanding the product's intent.

Ownership

Code is cheap. Ownership is not.

  1. 01Years, not hoursA feature built in an afternoon may need years of maintenance.
  2. 02Production doesn't careAI-generated code can fail just like human-written code.
  3. 03The real testCan your team understand, debug, and safely change what was shipped?
chaicode.com
Notes
Generating code is now fast and cheap. Living with that code is not. When production breaks, the model's name is irrelevant. What matters is whether your team can understand and fix the code.

Fundamentals

Your fundamentals are your passport

AI is your translator.

  • AI helps you build beyond your familiar tech stack.
  • Fundamentals help you question and verify what it builds.
  • Knowing concurrency makes you ask: "What happens when two users book the last seat?"
chaicode.com
Notes
AI can translate your skills into a new language overnight. Fundamentals are what let you check whether that translation is actually right. For example, knowing what a race condition is makes you ask what happens when two people book the last seat.

The last seat

Two users, one seat, same moment

Did we ever define what the system must guarantee?

chaicode.com

Working code doesn't mean the right problem was solved.

  • AI can propose requirements.
  • But assumptions still need to be questioned, decisions made explicit, and outcomes verified.
chaicode.com

Why it matters

Why this matters for you

WhereWhy
Interviews"I built it with AI" does not answer "Why did you design it this way?"
PortfolioOne app with a real problem solved beats ten generic CRUD apps
First jobYou will join a codebase that neither you nor your agent wrote
chaicode.com

Same project

Two ways to describe the same project

Weak

  • Built an event app using MERN and AI.

Strong

  • Capacity-safe booking system in MERN
  • Atomic DB updates prevent overbooking
  • Holds under concurrent requests
  • Verified with a parallel-request integration test
chaicode.com

If AI can write the code, who defines what correct means?

How do we make requirements explicit, reviewable, and verifiable?

chaicode.com