Vibe coding is useful for a disposable experiment you can inspect from the outside. It is a bad operating model for software that handles money, personal data, or a business process.
The boundary is simple. If failure is cheap and reversible, try it. If the software matters after the experiment, someone needs to understand the important choices and own the result.
Where the term came from
In February 2025, AI researcher Andrej Karpathy described a way of building software where you “fully give in to the vibes” and forget that the code exists. You describe what you want, let the model write it, paste errors back, and keep going without reviewing the implementation.
Collins Dictionary named vibe coding its 2025 Word of the Year. The phrase became broader as it spread, but the original meaning is worth keeping.
Simon Willison draws the useful line: if you review, test, and can explain the generated code, you are doing software development with AI assistance. Pure vibe coding means accepting code without understanding it.
That distinction changes where I would use it.
Start where failure is cheap
A disposable personal experiment is a good fit. So is a static prototype you can check in a browser and throw away when it has answered the question.
Keep personal data, credentials, payments, and real customer workflows out of it. A static site reduces backend risk, but forms, third-party scripts, deployment settings, and published files still need review.
Working with the model can feel a bit like a PM working with an engineer. The difference is that the model does not own the result when security, maintenance, or deployment goes wrong.
For anything you intend to keep, someone must understand the important choices, review the code, and own the result.
Know what changes the risk
The first version is usually the easy part. Risk appears when the experiment collects real data, receives users, connects to another system, or becomes something a business depends on.
Access control is one example. In 2025, a researcher reported missing or insufficient row-level security across more than 170 Lovable-built apps in a scan of 1,645. CVE-2025-48757 describes unauthorized access in affected generated sites and records that the supplier disputed responsibility.
The lesson is narrower than “AI code is insecure.” Generated applications still need explicit access-control and security review. Lovable's own security guidance says its scanners cannot guarantee complete security and recommends professional review for sensitive or critical applications.
If you are working in Claude Code, some of that review is one command away. /security-review checks the current changes for vulnerabilities and reports what it finds. It is not a substitute for someone who understands your threat model, but it catches the ordinary mistakes, and running it costs less than the argument about whether you needed to.
Vibe coding your payment processor? Please don't.
Use pure vibe coding where failure is cheap and reversible. Once the software matters, move to a reviewed workflow with tests, version control, and someone who can explain the implementation.
From vibe coding to a reviewed build
Once you review the plan, test the result, and keep recoverable versions, you have moved beyond pure vibe coding. Good. Keep working that way. The label matters less than knowing when the experiment became software you intend to maintain.
- Plan: Decide what you are building and what is outside the first version.
- Build: Describe the result, constraints, and files the model may change.
- Review: Inspect the output and give specific feedback.
- Test: Check the behavior, security boundaries, and failure cases that matter.
- Save: Use version control so you can inspect and undo changes.
- Ship: Publish only the version you reviewed.
By this point, you know how to give Claude Code a bounded task, add project rules, and review what it changed. You do not need to write every line yourself. You do need a way to decide whether the result is correct.
Claude Code wrote the first versions of this site's code. I decided what to build, reviewed the changes, tested the result, and kept correcting it. By Willison's definition, that is AI-assisted software development rather than pure vibe coding.
I am comfortable with that distinction.
Get Personalized Help
Copy this prompt to ChatGPT, Claude, or your favorite AI assistant. Fill in your details and get guidance tailored to your specific situation.
I read https://ivanmisic.net/blog/ai-tools/what-is-vibe-coding about vibe coding and I want to try building something with AI. My background: - Technical experience: [NONE - never coded / SOME - built a WordPress site or edited HTML / COMFORTABLE - used to code but rusty] - What I want to build: [DESCRIBE YOUR IDEA - e.g., personal portfolio site, landing page for my business, a quiz or calculator tool, a prototype to show investors, an internal tool for my team] - How important is reliability: [JUST FOR ME / SHOWING TO OTHERS / REAL USERS WILL DEPEND ON IT] - What's holding me back: [DESCRIBE - e.g., don't know where to start, not sure if my idea is too ambitious, overwhelmed by tool choices, tried once and it didn't work out] Help me figure out: - Is vibe coding the right approach for what I want to build, or do I need more structure? - What tool should I start with for my specific project (Claude Code, Lovable, Cursor, something else)? - Break my idea into a realistic first version I could build in a weekend Be honest if my idea is too complex for pure vibe coding. Suggest what a good starting scope would be.