Vibe coding works until someone else looks at it
When Andrej Karpathy named vibe coding in early 2025, the definition was blunt about what you give up. You say what you want, you accept what comes back, and you stop reading the diffs. A month later Simon Willison sharpened it into a rule: building software without reviewing the code it produces is fine, as long as the stakes are low.
That word, stakes, is carrying more weight than it looks.
Stakes are a property of the audience
Most people read low stakes as a fact about the software. Does it touch payments? Is it in production? Will strangers depend on it? Reasonable questions, wrong axis.
A project only you ever open is low stakes whatever it does, because the only person who can be confused by it is the person who made it. You know why the number is what it is. You remember which parts are held together loosely. The stakes rise the moment a second human looks at it, and they rise faster than the code changes, because that person arrives carrying a question.
The question is never about the code
Watch what actually happens when you show someone something you vibe coded. They do not ask how the filter is implemented. They ask why the number says twelve percent. They ask whether that button can be blue. They ask if the chart includes last week or stops on Friday.
Those are questions about output, and here is the good news nobody tells vibe coders: you can answer them. You steered the thing into existence. You know what it does, even if you could not name a single function inside it.
The failure is somewhere else. It is that the tools you have for showing your work destroy the ability to ask precisely. A screenshot cannot be pointed at, only described. A screen share ends and takes the context with it. Localhost is a place only you can stand. So the question arrives two days later as "the second chart looked off to me", and now you are the one asking questions, about a version that has already changed twice.
This is not really a vibe coder problem
It shows up faster there, which makes it look like one. But in a survey of 800 software professionals, 59 percent said they use AI generated code they do not fully understand (Clutch). Most of them would not call what they do vibe coding. The difference is candour, not degree. Willison has since written that the line between vibe coding and serious agentic work is blurring faster than he is comfortable with, and that blur runs in both directions.
What helps, and what does not
The advice you usually get is to go back and read the code. Sometimes that is right, and Willison's caution deserves to stand unsoftened: if the thing handles money or personal data, somebody eventually has to understand it properly, and that somebody might have to be you.
But reading your own code does not answer why the number says twelve percent any faster than the running thing does. At the moment of showing, what helps is narrower. Make the output addressable. A link instead of an image, one that shows the current state rather than a frozen memory of it, where a person can select the exact sentence or mark the exact chart and leave their question attached to that spot, and where your fix is visible as a difference from what they saw. That turns a vague complaint into a specific one, which is the only kind you can act on.
That is what we build here, and it is a smaller claim than most tools in this space make. It does not review your code. It does not tell you what your app does.
The part it does not fix
None of this makes you understand something you chose not to read. If it breaks in a way the model cannot repair by having the error pasted back at it, you are exactly where you were before, and the honest answer is that vibe coding has a ceiling you will meet eventually.
What changes is earlier and more mundane than that ceiling. Karpathy's bet was that you can trade line by line control for speed, and for a lot of work that trade is correct. The bill just does not arrive the way people expect. It is rarely a crash at 2am. It is usually a person asking a fair question about something good you made, and you having nowhere sensible to answer it.