A plain summary, so you can get the gist here without leaving.
Soon after the phrase took off, the developer and writer Simon Willison stepped in to clear up a growing confusion: using AI to help you code is not the same thing as vibe coding. He wanted to keep the two ideas separate.
The distinction he drew
In a March 2025 piece, Willison noticed that people had started calling any AI-assisted coding "vibe coding," and he thought that blurred something important. To him, true vibe coding has a specific meaning: you build with an AI model and you do not review the code it produces. You accept it, run it, and move on. The defining trait is that you are not reading or owning the lines.
That, he argued, is very different from the serious work most professional developers do with AI. In that mode you still use the model to go faster, but you read every change, you understand it, and you take responsibility for it. The AI is a fast assistant, not a replacement for your judgment.
His golden rule
Willison offered a simple test for whether AI-assisted work is up to a professional standard: he will not add code to his project if he could not explain exactly what it does to another person. If you can explain it, you understand it, and you can stand behind it. If you cannot, you are just hoping it works.
Notice this is not anti-AI. He was clear that vibe coding itself is genuinely useful and fun. His point was narrower. Real software that other people rely on has to be understandable, has to keep working as it grows, and has to account for things like security, performance, and cost. None of that happens by vibes alone.
Why the difference is worth keeping
Mixing the two terms can mislead beginners in both directions. It can make responsible AI-assisted programming sound reckless, as if professionals just accept whatever the model spits out. And it can make vibe coding sound more bulletproof than it is, hiding the fact that nobody checked the code.
For our community, the takeaway is freeing rather than strict. Vibe code happily when you are exploring, learning, or prototyping. When you cross into something real, shift gears: read what the AI wrote, ask it to explain anything unclear, and only keep what you actually understand. Same tools, different level of ownership.
- Willison's article (March 2025) separates two things people kept merging.
- True vibe coding means not reviewing the AI's code; serious AI-assisted work means reading and owning every line.
- His golden rule: do not keep code you could not explain to someone else.
- He is pro vibe coding for play and prototypes, not as a substitute for understanding.
- Match your level of review to the stakes: vibes for exploring, ownership for anything real.
Simon Willison
New to this? Come build with us.
Reading is good. Building with people is better. Our drop-ins are free and open to total beginners.