Make software by describing it

What Vibe Coding Is, and What It Isn't

Vibe coding is building software by describing what you want in plain language, letting an AI write the code, and steering by what you see on screen rather than by reading every line. The term was popularized in early 2025 by AI researcher Andrej Karpathy, who used it for a loose, trial-and-error style of working where you accept the assistant’s output and keep nudging it.

It is a real way to make small tools. It is also easy to misunderstand, so it helps to separate what the term describes from what people assume it means.

The core idea

In traditional programming, you write instructions in a language the computer understands. In vibe coding, you write instructions in your own language and the assistant translates them. You then run the result, look at what happened, and reply with corrections.

The loop looks like this:

  1. Describe the thing you want.
  2. Run what the assistant produced.
  3. Notice what is wrong or missing.
  4. Describe the fix in plain words.
  5. Repeat until it does what you need.

Your skill is mostly in steps 1, 3 and 4: knowing what you want, noticing when the result differs, and explaining the difference clearly.

What it is good for

Vibe coding fits best where the stakes are low and the feedback is quick. Some examples:

In each case you can see right away whether it works. If the converter gives the wrong number, you know. If the page looks broken on your phone, you know. That fast, visible feedback is what makes the style workable for people who do not read code.

Where it breaks down

The same approach gets risky when you cannot easily tell whether the output is right. Handling payments, storing other people’s personal data, or anything that must follow legal rules are poor fits for “accept and nudge.” The code may appear to work while hiding problems you cannot see, such as passwords stored in readable form or inputs that are not checked.

It also gets harder as a project grows. A single file of a few hundred lines is manageable. A project with dozens of files that you have never read becomes difficult to change, because neither you nor the assistant has the full picture at once. Many people hit this wall after a few days of adding features.

A third limit is debugging. When something fails in a way you cannot describe, you are relying on the assistant to find the cause. Sometimes it does. Sometimes it loops, trying fixes that do not address the real problem.

Vibe coding versus AI-assisted programming

The two are often mixed up. In AI-assisted programming, a developer who understands the code uses an assistant to write parts faster, and reviews the output carefully. In vibe coding, the person steering may not read the code at all.

Neither is better in every case. A professional building a bank’s software should review everything. A person making a recipe-scaling page for their own kitchen does not need to. The right amount of review depends on what happens if the tool is wrong.

A useful middle path for beginners: you do not need to understand every line, but try to understand the shape. Ask the assistant to explain what each part of the file does in one sentence. After a few projects, patterns start to look familiar.

Habits that make it work better

People who get steady results tend to share a few habits, none of them technical:

These habits matter more than which assistant you use. Chat tools such as ChatGPT, Claude and Gemini can all produce a usable first version of a small tool; the difference shows up in how well you steer.

What it does not mean

It does not mean you will never need to learn anything. People who keep building usually pick up concepts along the way: what a file is, what a browser does with HTML, what an error message points to. That knowledge makes the next prompt better.

It also does not mean the result is finished or safe just because it runs. A page that works on your laptop may fail on another browser or screen size. Checking those cases is still your job.

And it does not promise income or a shortcut around the work of understanding a problem. The assistant writes code; it cannot tell you whether anyone wants the tool.

Your next step

Pick one small thing you wish existed, such as a calculator for a task you do every week, and write a three-sentence description of it. Paste that into an AI assistant and ask for a single HTML file. Open it, test it with numbers you know, and fix one problem at a time. If you finish in an evening, you have done vibe coding, and you will have a clear sense of where it works for you and where you want more control.