# What is vibe coding? Programming by describing what you want

> Vibe coding means building software by telling an AI what you want, without reviewing the code. Where the term comes from, what it suits and where it stops.

*Tags: ai, vibe-coding, programming, ux-for-ai*

---


> [!info] Quick Definition
> **Vibe coding** is building software by describing in natural language what you want to an AI, and accepting the code it generates without a thorough review. Andrej Karpathy coined the term in February 2025, and in November 2025 Collins Dictionary named it Word of the Year.


## Where does the term come from?

Andrej Karpathy, a co-founder of OpenAI and former AI director at Tesla, coined it in a post on X in February 2025. He described "a new kind of coding" in which you fully give in to the vibes, embrace exponentials and forget that the code even exists. In practice: talking to a coding tool, accepting all changes without reading the diffs and pasting error messages back. He himself said it was not too bad for throwaway weekend projects.

In November 2025, Collins Dictionary named "vibe coding" its Word of the Year. It defines the term as the use of artificial intelligence prompted by natural language to assist with the writing of computer code ([CNN via KRDO](https://krdo.com/news/2025/11/06/vibe-coding-named-collins-dictionarys-word-of-the-year/)).

## Why does it matter to a designer?

Because the term mixes two things that should be kept apart. The first is speed: a designer can go from an idea to a working prototype in an afternoon, without waiting for a developer to be available. The second is risk: code nobody reviewed can expose secrets, send personal data out of the machine or run up unexpected API charges.

Simon Willison, a developer who has written extensively about the topic, draws a line. For him, vibe coding is building software with an LLM without reviewing the code it writes. If an LLM wrote the code and you then reviewed it, tested it thoroughly and can explain to someone else how it works, that is not vibe coding but software development, and the LLM's involvement is immaterial. His golden rule for production-quality AI-assisted programming is not to commit any code to his repository that he could not explain exactly ([Simon Willison, March 2025](https://simonwillison.net/2025/Mar/19/vibe-coding/)).

That distinction decides when vibe coding fits. Willison accepts it when a project is low stakes: think about how much harm the code could cause if it has bugs or security vulnerabilities. He also sees it as useful for learning, since building a project is a good way to find out what is possible with code. For products with real users, payments or sensitive data, skipping review is paid for later. The full comparison is in [[vibe-coding-vs-ai-assisted-engineering|vibe coding vs. AI-assisted engineering]].

## What can you do with vibe coding?

It is useful for three kinds of work:

| Use | Example | Risk if it goes wrong |
|---|---|---|
| Prototype to validate an idea | A page to test a flow with five people | Low: it gets thrown away |
| Personal tool | A script that renames your design files | Low to medium: affects only your team |
| Product with users or data | An app with login, payments or customer data | High: needs a real review |

The simple rule: the more people and data depend on the code, the less it should go unreviewed. A designer can build the prototype with vibe coding and ask an engineer to review the version before it goes live. Before you share anything, go through [[vibe-coding-security-basics|the security basics of vibe coding]].

## How do you start without getting lost?

Three habits help:

1. **Describe the result, not only the function.** "A contact form that validates the email and shows an error message in Spanish" works better than "make a form".
2. **Ask for an explanation.** Before accepting a large change, ask which files it touches and why.
3. **Test each step.** Clicking the screen you changed tells you more than code you did not read.

These habits are covered in [[iterating-with-prompts|iterating with prompts without losing control]] and in [[when-not-to-vibe-code|when not to vibe code]].

## Example

Illustrative example: a designer wants to test whether a task list with automatic suggestions helps her team. She describes the app to an AI tool, has a working version that same afternoon and shares it with five colleagues. After the test, she decides the idea is worth pursuing and wants to offer it to customers. At that point the app handles people's data, so she asks a developer to review the code, change how data is stored and add a login. The prototype was vibe coding; the product cannot be.

## How do you apply it tomorrow?

1. Pick a small problem from your daily work, such as an internal form or a file name generator, and build it in an afternoon.
2. Before sharing it, write on one page what it does, what data it touches and who will use it. If you cannot write it down, you do not yet understand what you built.
3. Run a three-step test with realistic sample data, not with the data the AI generated.
4. Decide in writing whether the prototype stays a personal tool or goes to engineering review.

This exercise teaches you the rhythm of vibe coding without exposing anyone. If you want to see how an idea goes from concept to a published app, read [[idea-to-app-in-a-day|idea to app in a day]].

## Common mistakes

- Believing vibe coding means the AI does not make mistakes.
- Publishing to production something nobody reviewed, with real data.
- Confusing a demo that works on your computer with software ready for users.
- Accepting large changes without understanding which files they touched.
- Using the term for any AI use while programming, which erases the difference between reviewing and not reviewing.
- Forgetting that API keys and secrets can end up exposed in generated code.

## Sources

- Simon Willison, "Not all AI-assisted programming is vibe coding (but vibe coding rocks)" (March 2025): [https://simonwillison.net/2025/Mar/19/vibe-coding/](https://simonwillison.net/2025/Mar/19/vibe-coding/)
- Collins Dictionary Word of the Year 2025, reported by CNN via KRDO (6 November 2025): [https://krdo.com/news/2025/11/06/vibe-coding-named-collins-dictionarys-word-of-the-year/](https://krdo.com/news/2025/11/06/vibe-coding-named-collins-dictionarys-word-of-the-year/)
- Wikipedia, "Vibe coding" (date and content of the original post): [https://en.wikipedia.org/wiki/Vibe_coding](https://en.wikipedia.org/wiki/Vibe_coding)


---

Source: https://www.fernandoux.com/en/wiki/ai/what-is-vibe-coding/
