The first version is intoxicating.
You describe the product, the agent writes code, and something appears on screen. It may take an afternoon instead of a month. You click through the happy path and think: this is nearly done.
Usually, it is about 20% done.
A demo answers one question
A prototype answers: can this idea work?
That is an important question. It is not the same as asking whether real people can depend on it.
Production software has to survive inputs you did not imagine, devices you do not own, slow connections, expired sessions, duplicated requests, missing environment variables, interrupted saves, and users who press Back at exactly the wrong moment.
None of that looks impressive in a demo.
The invisible checklist
The final stretch is where the work becomes less visible and more valuable.
Can someone use it with a keyboard? Does the heading structure make sense to a screen reader? Does the mobile call-to-action cover the content? Does a failed submission explain what happened, preserve the user's input, and offer a recovery path?
Is private data actually private? Are rate limits applied to the expensive route? Does the page still make sense when JavaScript fails? Are social previews correct, canonical URLs stable, and redirects intentional?
Does the system tell you when it is broken?
AI will help with every item. It will not reliably remember that every item exists.
Why agents stop early
Coding agents optimise for visible progress. So do humans.
A new feature produces a satisfying diff. A careful error state does not. Rewriting a duplicated data source into one authoritative model often leaves the screen looking exactly the same.
But that invisible consolidation is what stops the numbers on the homepage disagreeing with the numbers in the case study six months later.
The final 20% is mostly the removal of future surprises.
My production rule
I now treat the first working version as the start of a different phase.
The question changes from "does it work?" to "what would make this embarrassing, expensive, unsafe, or confusing in public?"
Then I work through those answers systematically: content integrity, failure paths, accessibility, responsive behaviour, performance, security, observability, and deployment configuration.
This is slower than the demo. It should be.
AI has compressed the cost of proving an idea. It has not removed the cost of caring whether the result is good.