Vibe Coding Is a Judgment Problem
I shipped a working app this weekend without writing a line of code by hand. The hard part wasn't the code. It was the three times I had to stop and tell the model it was confidently, fluently wrong.
Each time, the AI produced something that ran. It looked right. It would have passed a demo. And each time it was the wrong solution โ an approach that would have quietly rotted the moment real users touched it. The model had no idea. Why would it? It had generated a plausible answer, which is the only thing it is built to do.
This is the shift people keep missing about vibe coding. The bottleneck used to be generation: could you write the function, wire the API, get the thing to compile? That skill is now close to free. What's left โ the part that didn't get automated โ is evaluation. Knowing which of the five options the model offered is actually right. Knowing when "it works" and "it's correct" are different claims. Knowing that the well-formatted answer in front of you is a dead end before you've spent two days finding out.
An example, because it's concrete
I asked for a way to store some user data. The model handed back a clean, working implementation that kept everything in the browser's local storage. It ran perfectly. It was also the wrong call for what I was building โ the data needed to survive across devices, and local storage never would. Nothing in the output flagged that. The only thing standing between a good demo and a broken product was that I'd been burned by this exact thing before.
That's the whole game. The scarce skill in vibe coding was never prompting โ prompting is a phrasebook you pick up in a week. The scarce skill is judgment, and judgment is compressed experience. It's the residue of having shipped things, watched them break, and learned where the bodies are buried. You can't prompt your way to it. You earn it, or you borrow it from someone who has it.
It democratizes generation, not judgment
So the popular story โ that AI democratizes software, that anyone can build anything now โ is half right in the way that matters most. It democratizes generation. It does not democratize judgment. A beginner and a fifteen-year veteran can now produce the same first draft in the same ten minutes. The difference shows up in the second hour, when one of them can feel that the draft is quietly wrong and the other one ships it.
Which flips the usual read on "no-code." People hear it as "no expertise required." It's closer to the opposite. When generation is free, the entire value of the person moves into the judgment โ the taste to know what good looks like, and the scar tissue to know what's about to go wrong. The tools got dramatically better at the easy part. That made the hard part more valuable, not less.
Where this gets uncomfortable: the models are getting better at catching their own mistakes, and it's fair to ask whether judgment stays scarce or slowly gets absorbed too. Maybe. My hunch is there's a floor โ the judgment about what to build, and whether it's worth building, doesn't live in the code, and I don't see how the code learns it. But I've been confidently, fluently wrong before. So has the model.
This post was written collaboratively with AI. The ideas, arguments, and editorial judgment are mine. The drafting process involved AI assistance for structure, phrasing, and pressure-testing the argument.