
So what is vibe coding, really?
Vibe coding is a way of building software with AI where you describe a feature or app in a natural-language prompt and a large language model generates the actual code. You stay at the level of what you want and how it should behave, and you lean on the AI for the how.
The part that makes it distinct from "using AI to help you code" is the comprehension gap. In its purest form, vibe coding involves accepting the AI's code without reviewing it line by line. You run it, see if it works, and if it doesn't, you ask the AI to fix it, often without ever fully understanding what changed. IBM frames the same shift as a move toward intent-driven development, where you express intent and the model fills in the implementation.
That's a real break from how software has always worked. For decades, the bottleneck was writing the code. Vibe coding moves the bottleneck to describing what you want clearly enough, which is why people only half-jokingly say the hottest new programming language is English.
Where the term came from
The phrase was coined by Andrej Karpathy, a co-founder of OpenAI and former director of AI at Tesla, in a post on X on February 2, 2025. Here's the line that launched a thousand think-pieces:
"There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."
Andrej Karpathy (@karpathy, Feb 2, 2025)
The rest of the post is worth knowing, because people forget the spirit it was written in. Karpathy described accepting every suggestion without reading the diffs, pasting error messages straight back in without comment, and working around bugs he couldn't be bothered to understand. His verdict on this style? It's "not too bad for throwaway weekend projects." He was describing something fun and low-stakes, not a new way to ship banking software.
The label caught on anyway. Within weeks Merriam-Webster flagged it as trending, and by the end of the year it was Collins Dictionary's Word of the Year for 2025. Not bad for a tweet.
How vibe coding actually works
Strip away the hype and the workflow is a simple loop you repeat until the thing works.

- Describe what you want. "Build me a landing page with an email signup form" or "add a dark mode toggle to the sidebar." The more context you give, the better the result.
- The AI writes the code. Not a snippet you paste somewhere, but working files, often a whole runnable app.
- Run it and see. Modern tools show you a live preview, so you judge the result by looking at it, not by reading the source.
- Re-prompt to fix or extend. Something's off? You describe the change in plain language and go around again.
Replit compresses this to "describe it, refine it, launch it," with the app previewing live as you go. The thing to notice is step three: you're evaluating the output, not the code. That's the whole appeal, and, as we'll get to, the whole problem.
The tools people vibe code with
A wave of tools now competes to be the easiest way to talk an app into existence. They roughly split into two camps: AI-native editors aimed at developers, and "describe an app" builders aimed at everyone else.
| Tool | Best for | How you use it | Notable |
|---|---|---|---|
| Cursor | Developers who still want an editor | AI-first code editor (the one Karpathy used) | Powerful, fewer guardrails for beginners |
| Replit | Building and hosting in one place | Prompt an app, deploy in a click | Browser-based, with its own pricing tiers |
| Lovable | Non-technical app builders | Describe a web app, get a polished UI | See our full Lovable review |
| Windsurf | Agentic coding in an IDE | AI agent that edits across your codebase | Compared in Cursor vs Windsurf |
| Microsoft Copilot | Inline autocomplete in your editor | Suggestions as you type | More assistant than full vibe coding |
| Claude | Conversational building | Chat your way to working code | Sandboxed previews make it beginner-safe |
The "describe an app" camp is where vibe coding feels most like science fiction. Here's a portfolio site built in Lovable from a short description, no hand-written HTML involved:

If you want the wider field, our guides to Cursor alternatives, Replit alternatives, and Lovable alternatives each test a handful of these side by side.
Vibe coding vs actually shipping software
Here's the distinction that gets lost in every breathless headline, and the one worth tattooing on your monitor.
Not all AI-assisted coding is vibe coding. The clearest take comes from Simon Willison, co-creator of the Django web framework, who got worried the term was being stretched to mean any use of an LLM:
"If an LLM wrote the code for you, and you then reviewed it, tested it thoroughly and made sure you could explain how it works to someone else, that's not vibe coding, it's software development. The usage of an LLM to support that activity is immaterial."
Simon Willison (Not all AI-assisted programming is vibe coding)

Same tools, different discipline. Willison's golden rule is that he won't commit any code he couldn't explain to someone else. By that measure, most professional engineers using AI aren't vibe coding at all, they're just coding faster. The thing that makes vibe coding "vibe coding" is the deliberate choice not to understand the code. Even Andrew Ng has pushed back on the term, arguing it misleads people into thinking serious engineers just go with the vibes.
What vibe coding is genuinely good at
With that caveat in place, the upside is real and worth getting excited about.
It's fast. The gap between "I have an idea" and "I have a working prototype" collapses from days to minutes. For testing whether an idea is even worth building, that's transformative.
It's open to everyone. This is the part that matters most. People who could never have built software, founders, designers, teachers, ops folks, can now make functional tools by describing them. Willison puts it well: everyone deserves the ability to automate tedious tasks, and you shouldn't need a computer science degree to do it. It's a close cousin of the no-code movement, just with the AI writing real code under the hood.
And the adoption numbers are not small. A few hard figures from 2025:
- Around 25% of startups in Y Combinator's Winter 2025 batch had codebases that were roughly 95% AI-generated, according to TechCrunch.
- Google's CEO said over 25% of new code at Google is AI-generated, per Ars Technica.
Forbes frames the strategic shift as one from code to product: when the implementation is cheap, the scarce skill becomes knowing what to build and being able to describe it precisely.
Where vibe coding bites back
Now the part the demos skip. When you stop reading the code, the problems don't disappear, they just move somewhere you can't see them.
Security is the big one. One study found that almost half of code snippets from popular AI models were insecure, carrying classic flaws like SQL injection and cross-site scripting. IBM calls security the most critical limitation and even coined the phrase security debt, hardcoded keys and unsecured endpoints quietly piling up. These aren't hypotheticals: the AI app builder Lovable had an incident where 170 of 1,645 apps exposed personal data, and a Replit agent reportedly deleted a production database.
Technical debt compounds quietly. A GitClear analysis of 211 million lines of code found code duplication quadrupling and refactoring dropping sharply as AI assistance spread. This is what Reddit's developers mean when they call vibe-coded production apps "writing legacy code in real time."
And it might not even make you faster. The counterintuitive one: a 2025 randomized controlled trial from METR found experienced open-source developers were actually 19% slower with early-2025 AI tools, even though they predicted they'd be faster and believed afterward that they had been. The "feels fast" sensation and the "is fast" reality don't always line up.
So, should you vibe code?
Yes, often, you just need to be honest about the stakes. The single question that sorts it out: could a bug here actually hurt someone, your users, your reputation, or your bank account?

The community has basically converged on this. The big r/OutOfTheLoop thread that tried to make sense of the term was started by a developer asking exactly the right question:
"Do people actually try to rely on this for professional work or is it more just a way for non-coders to make something simple? Or, maybe it's just kind of a meme and I'm missing the joke."
u/Amish_Avenger, r/OutOfTheLoop
The answer that emerged across thread after thread: it's brilliant for the left side of that spectrum and a trap on the right. Willison's practical checklist is the one we'd actually use, watch out for secrets and API keys, private data, and anything billed by usage (people have vibe-coded their way into surprise four-figure bills). For anything that touches those, you have to understand the code, which means by definition it's no longer vibe coding.
Vibe coding's real lesson: just describe what you want
Step back from the code editors and there's a bigger idea hiding here, one that matters even if you never build an app.
The reason vibe coding feels like magic isn't the code. It's that you describe an outcome in plain English and the AI figures out the how. That pattern doesn't only apply to software. It's exactly how a well-built AI agent should work for any kind of knowledge work, and it's especially powerful in customer support, where the "code" you'd otherwise write is really just a tangle of rules, macros, and routing logic.
Picture setting up a support AI agent the vibe coding way: instead of building decision trees, you just tell it, in a chat, "when a ticket mentions a refund, draft a reply and tag it for the billing team." That's the whole setup. With eesel AI, that's literally how it works, you adjust the agent's behavior by writing instructions in plain language, not by wiring up flows:

The difference is that the "review the code" problem is handled for you. Instead of accepting changes blind, a good support agent lets you simulate against past tickets before going live, and routes low-confidence answers to a human instead of guessing, the safety rail that pure vibe coding lacks. You get the describe-it-in-English magic without the unreviewed-code risk.
Try eesel
eesel AI takes the best part of vibe coding, just say what you want, and applies it to customer support and internal help. You connect your helpdesk and knowledge sources, describe how the agent should behave in plain language, and it learns from your past tickets to draft and resolve. One concrete differentiator: you can run a simulation on thousands of historical tickets to see exactly how it would have replied before it ever touches a live conversation, the review step vibe coding skips, built in.

If "describe what you want, let the AI do the work" is the future, this is that future pointed at the work most teams actually need done. Try eesel free, no credit card, and see how it would handle your own tickets.
Frequently Asked Questions
What is vibe coding in simple terms?
Is vibe coding good or bad?
What tools do you use for vibe coding?
How much does vibe coding cost to get started?
Can vibe coding work for customer support, not just apps?

Article by
Kira
Kira is a writer at eesel AI with a Computer Science background and over a year of hands-on experience evaluating AI-powered customer service tools. She focuses on breaking down how helpdesk platforms and AI agents actually work so that support teams can make better buying decisions.







