What Is Vibe Coding? A Plain-English Guide
Vibe coding means describing what you want and letting AI write the code while you steer. Here is how it works, what it's great for, and where it bites.

Last month I watched a friend build a working tool in about twenty minutes. She is not a programmer. She opened an AI coding assistant, typed something like "I want a page where I can paste a list of names and it splits them into teams of four," and then she just kept talking to it. The screen filled with code she never read. She ran it, saw it was wrong, said "no, keep the original order," ran it again, and it worked. She shipped it to a few colleagues that afternoon.
She had just done what people now call vibe coding. And watching her, I felt two things at once: genuine delight, and a small, familiar worry. This piece is about both.
Where the term comes from
The phrase was coined by Andrej Karpathy, a well-known AI researcher, in early 2025. His idea was simple and a little tongue-in-cheek: you describe what you want in plain language, let the AI write the actual code, and you steer by "vibes" rather than by typing every line yourself. You look at the result, get a feel for whether it's heading the right way, and you accept, reject, or nudge. You barely read the code. You mostly react to it.
That last part is what makes it new. People have used AI to help with code for years. Vibe coding is the version where you mostly stop looking under the hood and trust the feel of the thing.
How it actually works
Strip away the buzz and vibe coding is a loop between two participants: you, and an AI agent.
- You describe. In ordinary English, you say what you want. "Make me a small website that tracks how much water I drink each day."
- The AI builds. It writes the code, often creating several files at once, and may even run them for you.
- You react. You look at what came out. Does it run? Does it look right? You don't necessarily read the code line by line. You judge the outcome.
- You refine. "The button is too small." "Save the data so it's still there tomorrow." "It crashed when I left the box empty."
- Repeat until it feels done.
The skill here is not memorizing syntax. It's describing clearly, noticing when something is off, and knowing what to ask for next. That is a real skill, and it is not the same skill as traditional programming.
A concrete back-and-forth
Let me show you the actual texture of it, because the abstract description undersells how conversational it feels. Here is a lightly trimmed version of building that water tracker.
Me: Build a simple web page where I can log glasses of water. A button that says "Add a glass," and it shows today's total.
AI: (writes an HTML file with a button and a counter) Here's a page with an "Add a glass" button and a running total for today.
Me: Good, but when I refresh the page the count goes back to zero. I want it to remember.
AI: I'll store the count in your browser so it survives a refresh. (rewrites part of the file to use local storage)
Me: It remembers now, but it never resets. Yesterday's water is still counted today.
AI: I'll save the date alongside the count and reset the total when a new day starts. (adds a date check)
Notice what happened. I never typed a single line of code. I described a goal, spotted two real problems by using the thing, and described them in plain words. The AI handled the how. That is vibe coding in its natural habitat.
What it's genuinely great for
I want to be fair to vibe coding, because it is genuinely useful, not just a toy.
Prototypes. When you want to see if an idea even makes sense, vibe coding gets you to a clickable version fast. You learn more from five minutes with a rough prototype than from an hour of planning.
Learning. This surprised me. Asking the AI to build something and then asking it to explain what it just wrote is a fast way to learn. You see real, working code attached to a real goal you cared about.
Small personal tools. The team splitter, the water tracker, a script that renames a folder full of files. Things too small to hire anyone for, too annoying to do by hand. Vibe coding fits this gap perfectly.
Getting unstuck. Even experienced developers use it to get past a blank page, draft a first version, or handle a boring chunk so they can focus on the hard part.
The honest dangers
Now the worry I felt watching my friend. None of this is a reason to avoid vibe coding. It's a reason to do it with your eyes open.
You can ship code you don't understand. This is the central danger. When something works on the first try, it is tempting to move on. But "it ran once on my screen" is not the same as "it is correct." If you can't explain roughly what the code does, you can't fix it when it breaks, and you can't tell whether it's quietly doing something wrong.
Security holes. AI-generated code can leave doors open: storing passwords in plain text, trusting input it shouldn't, leaking a secret key into a public file. The AI is not trying to be careless. It just optimizes for "does this work," not "is this safe to expose to the internet."
"It works until it doesn't." Vibe-coded projects have a way of running beautifully right up to the moment a real user does something unexpected. The empty box, the weird character, the tenth-thousandth entry. Code you didn't read is code whose edges you never inspected.
The responsible way to do it
Here is how I keep the upside without the regret.
Read the code, at least the shape of it. You don't have to understand every line. But scroll through it. Ask the AI: "Explain this file to me like I'm new." If the explanation makes you uneasy, that unease is information.
Test it like a stranger would. Leave the box empty. Type nonsense. Click the button twice. Try to break your own creation before someone else does it for you.
Treat the AI as a fast junior, not an oracle. A good junior developer is quick, eager, and occasionally confidently wrong. You would review their work before shipping it. Same here. The AI does not know your real intent, and it will not tell you when it's unsure.
Know when to slow down. Anything touching passwords, payments, medical data, or other people's private information deserves real care, or a real developer. Vibe coding is wonderful for the low-stakes 80 percent. The risky 20 percent is exactly where vibes are not enough.
If you internalize one idea, make it this: AI writing the code does not transfer responsibility for the code. You still own what you ship.
Frequently asked questions
- Do I need to know how to program to try vibe coding?
- No. That's the appeal. You can build small working things knowing zero syntax. But the more you understand what the code does, the safer and more capable you become. Vibe coding is a great on-ramp to real understanding, not a replacement for it.
- Is vibe coding the same as 'real' programming?
- Not exactly. Traditional programming is about writing and reasoning about code directly. Vibe coding is about directing an AI toward an outcome. They overlap, and experienced developers use vibe coding too, but the core skill being exercised is clear description and judgment rather than syntax.
- Is it safe to put a vibe-coded app on the internet?
- For a personal toy with no sensitive data, usually fine. For anything handling logins, payments, or other people's private information, be very careful. AI-generated code can contain security gaps it won't warn you about. When the stakes are real, read the code, test hard, or bring in someone who can.
- Won't AI just make programmers unnecessary?
- It hasn't, and the dangers above are why. Someone still has to decide what to build, judge whether the result is correct, catch the security holes, and own the outcome. Vibe coding changes what the work feels like more than it removes the need for skilled judgment.
- What's the best way to learn from vibe coding?
- Build something you actually want, then ask the AI to explain what it wrote, file by file. Change something and see what breaks. Real code attached to a goal you care about is one of the fastest ways to learn how software fits together.
Further reading on this site
If you'd like more plain-English explainers like this one, subscribe to the newsletter.
The Newsletter
Liked this essay?
Get the next one in your inbox. One thoughtful email a week, nothing more.
Keep reading
Related articles

The Best Vibe Coding Tools to Use in 2026
An honest, hands-on guide to the best vibe coding tools in 2026 — what each is genuinely good for, and where the AI still needs you to step in.
June 15, 2026 · 10 min read

What Is Machine Learning? A Plain-English Guide
A calm, beginner-friendly guide to machine learning: how computers learn from examples instead of rules, the three main types, and honest limits.
May 26, 2026 · 11 min read

What Are Git and GitHub? A Beginner's Guide
A calm, plain-English guide to Git and GitHub: what they are, how they differ, and the core ideas (commit, branch, merge, push, pull request) explained simply.
April 12, 2026 · 11 min read