What Is Vibe Coding?
Where the term comes from, what it originally meant and what it has come to mean, how vibe coding differs from AI-assisted programming and agentic engineering, and why it suits throwaway projects better than software others depend on.
Where the term comes from
On 2 February 2025 the AI researcher Andrej Karpathy described, in a post on X, "a new kind of coding I call 'vibe coding'", in which you "forget that the code even exists". He told his AI code editor what he wanted, mostly by voice, and asked for small changes he could easily have made himself. He did not look at what the AI changed:
I "Accept All" always, I don't read the diffs anymore.
When an error appeared, he pasted the message back into the chat without comment, which usually fixed it. When the AI could not fix a bug, he worked around it or asked for random changes until the bug went away. He was clear about where this belongs: "It's not too bad for throwaway weekend projects."
Accept All
AI code editors show each proposed change as a diff: the lines that would be removed and the lines that would be added. Accept All is the command in such an editor that applies every proposed change at once, without reviewing the diffs one by one. Pressing it is not wrong in itself; you can still read the result afterward. What makes it vibe coding is the habit Karpathy described: accepting everything and never reading it at all.
How it spread
The name fitted something many people were already doing, and it spread fast. Collins Dictionary chose "vibe coding" as its Word of the Year 2025, announced on 6 November 2025, summing it up as "programming by vibes, not variables". Merriam-Webster reportedly added it to its dictionary in 2026. A year after the first post, Karpathy himself called it a "shower of thoughts throwaway tweet" that happened to name something at the right moment.
What vibe coding means
Vibe coding is building software by describing what you want to an AI assistant and accepting the code it produces without reading it, steering only by whether the result seems to work. That is the original, narrow sense, and the one this encyclopedia uses. The code may be fine or it may not; the point is that you do not know, because you never looked.
Dictionaries use a broader sense. Collins describes vibe coding as the use of AI "prompted by natural language to write computer code", without saying anything about reading the code. In that sense, every developer who asks an assistant for a function is vibe coding. Both meanings are in use, so when someone says "we vibe coded it", it is worth asking which one they mean: "an AI wrote it" or "nobody has read it".
Vibe coding is also not the same as a no-code tool, where you build an app by clicking components together and never see code at all. With vibe coding there is real source code, written in a real programming language; you have just chosen not to look at it. That matters later: code that exists can be read, tested, saved and improved when the project becomes more serious.
Natural language as the interface
Natural-language programming is creating or changing software by describing it in ordinary human language, such as English, and letting a system turn the description into code. Large language models made this practical for everyday work (see How an AI Model Writes Code). Karpathy's keynote "Software Is Changing (Again)" (Y Combinator AI Startup School, 17 June 2025) is built around this idea: its published description speaks of a stage "where natural language becomes the new programming interface", and one chapter is titled "Vibe Coding: Everyone is now a programmer".
"Everyone can now make a program" is true in a useful way: a service desk analyst can build a small tool or a game without first learning a language. It does not mean that everyone can now judge whether a program is correct or safe. That second skill is what the rest of this topic builds.
Vibe coding versus AI-assisted programming
The developer Simon Willison drew the line most people now use, in a post of 19 March 2025 titled "Not all AI-assisted programming is vibe coding (but vibe coding rocks)". For him, vibe coding means "building software with an LLM without reviewing the code it writes". If you do review it, test it and can explain it, the AI's part does not make it vibe coding any more; it is simply software development.
AI-assisted programming is writing software with help from an AI model while you stay responsible for the code: you read what it produces, test it, and could explain how it works. Willison's golden rule for it is short:
I won't commit any code to my repository if I couldn't explain exactly what it does to somebody else.
The difference is not the tool or the amount of generated code. Two people can use the same assistant and the same prompts; the one who reads and tests the result is doing AI-assisted programming, the one who does not is vibe coding. The same principle runs through the rest of this encyclopedia as human accountability: you answer for what you ship, whoever typed it.
Vibe engineering
In October 2025 Willison looked for a name for the other end of the scale. Vibe engineering was his proposal, "with my tongue only partially in my cheek", for experienced developers who use AI tools heavily, including coding agents, while "staying proudly and confidently accountable for the software they produce". The name did not stick: in an update of 23 February 2026 he noted that "Agentic Engineering" was coming out on top.
Agentic engineering
On 4 February 2026, a year after his first post, Karpathy looked back. At the time, he wrote, models were weak enough that you mostly used vibe coding "for fun throwaway projects, demos and explorations". A year later, programming through AI agents was becoming a default way of working for professionals, "except with more oversight and scrutiny".
Agentic engineering is his favorite among the names people had suggested for that way of working: AI agents write most of the code and run it, while a person directs them, checks their work and keeps the quality of the software up. "Agentic" because you are "orchestrating agents who do" the writing and "acting as oversight"; "engineering" because it is a skill with real depth that you can learn and get better at. What an agent is and how it works is explained in AI agents and tool use; the tools are on Vibe Coding Tools.
Where vibe coding fits
A throwaway project is software you build for yourself, to learn, to try an idea or to show what something could look like, with no plan to maintain it and no one else depending on it. If it breaks or turns out badly, you lose an afternoon, not someone's data. That is exactly the kind of project where vibe coding works. Willison put it briefly: "For low stakes projects and prototypes why not just let it rip?" and, as his conditions, "Projects should be low stakes." and "Consider security."
Good fits:
- A game or toy for yourself, such as the space game this topic builds.
- A quick look at an idea: a page layout, a chart, an animation, to see whether it is worth building properly.
- A personal one-off tool that works only on your own, harmless data, such as a page that converts units or picks a random lunch spot.
- Learning by playing: changing things to see what happens, which is how many people discover they enjoy building software.
A small example from Kestrel Energy, the fictional energy supplier used throughout this encyclopedia: picture Ravi Kumar, the portal tech lead, vibe coding a rough "my usage this week" chart on a Friday afternoon, just to show Isabel Santos, the Product Owner, what the idea could look like. As a demo that is a sensible use of an hour: it answers "is this worth building?" before anyone spends a sprint on it. What later goes to customers is built again, with tests and a review, by the team.
Where it stops being enough
"It seems to work" says nothing about the inputs you did not try, the errors the code quietly swallows, or what it does with data. For a game you play alone that does not matter. It starts to matter as soon as one of these is true:
- Other people will use it, or rely on it being there.
- It stores or sends personal data, handles logins, or touches money.
- It runs with administrator rights, on a server, or anywhere near a production system.
- It uses an API key or a paid service, so a mistake can cost money or leak a secret.
- You cannot explain a part of it, or you are stuck asking the AI for one change after another and the bugs keep moving around.
At that point the answer is not to stop using AI but to change how you use it: read the code, test it, keep versions, and get it reviewed. The risks are set out calmly, with the evidence, in Risks of Vibe Coding, and the way from a quick prototype to something others can depend on is in From Prototype to Real Software. Why "trusting it because it looks right" is so tempting is explained under overreliance.
How this topic works
Many readers will vibe code simply because it is now possible, so this topic starts there. Its running project is RETRO JET, a small 3D space game: a retro jet that you fly through a starfield, dodging and shooting rocks. You build it in one CodePen Pen with three files (HTML, CSS and JavaScript) and the Three.js 3D library, in eight build steps:
- Steps 1–5 give you a complete prompt to paste into an AI assistant (in step 5 you fill in two choices first), starting with Build 1 · Your Starfield.
- Steps 6–8 give you a template, a checklist and hints; you write the prompt yourself.
- Every step shows a tested reference version that you can play right on the page, with its code, and a list of what you should see and what to do if it goes wrong.
Between the build steps, theory pages add one habit at a time: asking for one change per prompt, reading the code you got, debugging with the AI instead of guessing, saving versions you can go back to, and writing your own prompts. By the last page you will have moved, without a big jump, from vibe coding toward AI-assisted programming, the way Willison and Karpathy describe it.
You need a computer with a current web browser that supports WebGL 2 (almost all do), a free CodePen account so you can save your Pen, and an AI chat assistant; most have a free tier (see Vibe Coding Tools). No programming experience is needed, and nothing has to be installed. If you have read Prompting for Code, you will recognize many of the habits; this topic puts them to work on one project.