# What is vibe coding? Describe it, run it, check it

> Vibe coding means building software by describing what you want to an AI tool, trying what it makes and asking for changes, without reading the code. Andrej Karpathy named it in a post on X on February 2, 2025. It works for prototypes and personal tools. An app that stores passwords, payments or other people's data still needs someone to review the code.

Mindket editors · Published 2026-11-05 · Updated 2026-11-05 · https://mindket.com/learn/vibe-coding/what-is-vibe-coding

## In short

- Turn an app idea into a three-line brief: who uses it, what they do, and what done looks like.
- Click through every change yourself before you ask for the next one.
- Keep API keys, passwords and customer records out of anything nobody has reviewed.
- Start in a browser app builder, and move to an editor once you want to own the files.

## Try the describe, run, check loop

You can try vibe coding today with nothing installed. Open an app builder such as [Lovable](https://lovable.dev) in your browser, make a free account and type what you want into the prompt box. A prompt is the instruction you give the AI, written in ordinary words.

Pick something small that you would use this week. The prompt below is our own sample, not a vendor's. It says who the app is for, what it does and what to leave out, and that covers most of what a tool needs from you on the first try.

Then go round the loop. Each pass takes a few minutes, and you will make many of them.

````text
Build a page that splits a restaurant bill.
Who uses it: me and three friends, on our phones, at the table.
What it does: I type the total and the tip percentage, tick who was there,
and it shows what each person owes, rounded to the cent.
Leave out: logins, saved history and payments.
````

1. **Describe one small thing.** Say who uses it, what they do and what they should see. Leave logins and databases out of the first version. Lovable's own quick start ends its sample prompt with "No login or database yet", because a first version without them has less to go wrong.
2. **Let it build, then open the preview.** The preview is the running app, drawn next to the chat. In Lovable it sits to the right of the chat panel, and every button in it works.
3. **Use it the way a stranger would.** Press every button. Type a letter where a number belongs. Switch to the phone view, since most people will open your link on a phone.
4. **Report what you saw, one change per message.** "The tip box accepts negative numbers. It should refuse them." gives the AI a fact to fix. "Make it better" gives it a guess.
5. **Keep a version you can go back to.** Lovable saves every change in its version history, and Cursor saves checkpoints while its agent works. Note which version worked before you ask for something big.

> A loop that stalls usually has a vague report in it. If a bug survives two rounds, describe it as steps: what you clicked, what you expected and what happened instead. The AI can retrace those steps, which it cannot do with "still broken".

## Where the name came from

Andrej Karpathy, whom Collins Dictionary calls an AI pioneer, coined the term in that post. The rest of it, which Simon Willison reproduced in full on his blog, is a frank list of habits. Karpathy talks to his editor by voice, pastes error messages back with no comment and writes "I "Accept All" always, I don't read the diffs anymore." A diff is the list of lines a change adds and removes. When a bug will not go away, he asks for random changes until it does. His own verdict was mild: "It's not too bad for throwaway weekend projects."

Six weeks later Willison, a programmer and blogger, pinned the meaning down. Vibe coding, for him, is "building software with an LLM without reviewing the code it writes." An LLM, or large language model, is the kind of AI behind all of these tools. If you review the code, test it and could explain every line to someone else, he calls the work software development, even when the AI typed all of it.

That line is the useful part for you. The question is never whether an AI wrote the code. It is whether anyone checked it, and how much a mistake would cost. A party planner with a bug costs you an awkward evening. A shop that leaks card numbers costs far more.

The word spread fast. Collins named vibe coding its Word of the Year 2025 and describes it as "the use of artificial intelligence prompted by natural language to write computer code."

> 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, [X](https://x.com/karpathy/status/1886192184808149383) (read 2026-11-05)

**How the term spread**

1. **February 2, 2025** Karpathy's post on X. He names vibe coding and calls it fine for throwaway weekend projects.
2. **March 19, 2025** Willison draws the line. Unreviewed code is vibe coding. Reviewed, tested and understood code is software development.
3. **November 6, 2025** Word of the Year. Collins names vibe coding its Word of the Year 2025.
4. **February 4, 2026** Karpathy looks back a year on. He calls the reviewed, professional version of the work "agentic engineering".

Sources: [Andrej Karpathy on X](https://x.com/karpathy/status/1886192184808149383) (read 2026-11-05), [Simon Willison's blog](https://simonwillison.net/2025/Mar/19/vibe-coding/) (read 2026-11-05), [Collins Dictionary blog](https://blog.collinsdictionary.com/language-lovers/collins-word-of-the-year-2025-ai-meets-authenticity-as-society-shifts/) (read 2026-11-05), [Andrej Karpathy on X](https://x.com/karpathy/status/2019137879310836075) (read 2026-11-05)

[![Andrej Karpathy (@karpathy) on X, 2 February 2025: 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.](https://mindket.com/blog/shots/x-karpathy-vibe-coding.webp?v=bdbb53df088e)](https://x.com/karpathy/status/1886192184808149383)

Andrej Karpathy on X, 2 February 2025

> Karpathy's first post as X's own embed showed it on 5 November 2026, time in UTC, with the rest of the post behind Show more. The picture links to the post on X.

## App builders, AI editors and terminal agents

Every vibe coding tool runs the same loop. They differ in where the code lives and how much of it you see. That difference decides which one fits a first project.

An **app builder** runs in your browser and hosts what it makes. Lovable is one. You type, it builds, and its Publish button puts the app on a web address you can share. You never have to open a file, though the code is there if you ask for it.

An **AI editor** is a program on your computer that changes the files in a folder you open. Cursor is one, and so is VS Code with GitHub Copilot. You get the files and a record of every change. You also get the job of running the app and putting it online yourself. [Cursor](https://mindket.com/learn/vibe-coding/cursor-tutorial) and [Copilot's agent](https://mindket.com/learn/vibe-coding/github-copilot-agent-mode) each get a lesson in this course.

A **terminal agent** works in the terminal, the text window where you type commands. Claude Code, which has its own course starting at [installing Claude Code](https://mindket.com/learn/claude-code/install-claude-code), is one. It reads and edits the same files an editor would, so it suits people who already like typing commands.

Moving between kinds is possible. Lovable can sync a project to GitHub, a site that stores code and its history, and any editor can open the copy from there.

For a first project, we'd start in an app builder. You see a working app before you have to learn what a folder of code looks like, and you can still move the code to an editor later.

|  | App builder | AI editor | Terminal agent |
| --- | --- | --- | --- |
| In this course | Lovable | Cursor, VS Code with Copilot | Claude Code, in its own course |
| What you install | Nothing, it runs in the browser | A desktop app | A command-line program |
| Where the app runs | Lovable hosts it at a web address | On your computer until you put it online | On your computer until you put it online |
| When you see the code | Only if you open the Code tab | All the time, in the editor | All the time, in your folder |

## How Karpathy and Willison see vibe coding a year later

Karpathy looked back [on X](https://x.com/karpathy/status/2019137879310836075) on February 4, 2026, a year after his first post. In early 2025, he wrote, AI models were weak enough that vibe coding mostly suited fun throwaway projects and demos. A year on, professionals build more and more software through AI agents, but with more oversight. His favorite name for that careful version is "agentic engineering": agents write the code, and you direct them and check what they do.

Simon Willison drew a sharper line [on his blog](https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/) on May 6, 2026, writing up a podcast interview. For software other people use, he calls vibe coding "grossly irresponsible", because their information is at stake. For a personal tool, where a bug hurts only you, he says go ahead. He also admits the two ways of working are blurring in his own projects.

Use their split as a test before you start. If a bug would only cost you, the describe, run, check loop above is enough. If other people will type their data into the app, plan from day one for someone to check the code, which is where the next section picks up. In the video below, from June 2025, Karpathy gives his own account of vibe coding in a keynote.

> Today (1 year later), programming via LLM agents is increasingly becoming a default workflow for professionals, except with more oversight and scrutiny.
>
> Andrej Karpathy, coined the term vibe coding, [X](https://x.com/karpathy/status/2019137879310836075) (read 2026-11-05)

[![Andrej Karpathy (@karpathy) on X, 4 February 2026, quoting his own first vibe coding post: A lot of people quote tweeted this as 1 year anniversary of vibe coding. Some retrospective.](https://mindket.com/blog/shots/x-karpathy-agentic-engineering.webp?v=9665e3326597)](https://x.com/karpathy/status/2019137879310836075)

Andrej Karpathy on X, 4 February 2026

[Andrej Karpathy: Software Is Changing (Again)](https://www.youtube.com/watch?v=LCEmiRjPEtQ)

Y Combinator on YouTube: Karpathy's keynote at AI Startup School in San Francisco on June 17, 2025. The chapter "Vibe Coding: Everyone is now a programmer" starts at 29:06.

> A screenshot of X's own embed of the post, taken on 5 November 2026, with the time in UTC. X cuts the post short with Show more. Select it to open the post on X.

## Where vibe coding goes wrong

The loop only checks what you can see. A broken button shows up in the preview. A database that lets any visitor read every row does not, and that gap is where the serious problems sit.

Secrets are the first trap. An API key is a password one program uses to reach another service, such as a payment or email provider. Code that runs in the visitor's browser cannot keep one hidden. Lovable spots any key you paste into the chat and steers you to a separate Secrets store, with the service called from server code instead.

Data access is the second. Row-level security is a set of database rules that decides which user can see or change which rows. Lovable's security page calls misconfigured rules "a common cause of data leaks" and runs a quick scan for them each time you publish. The same page is plain that its scans "do not replace a thorough security review."

The third is code nobody reads. Karpathy's own post admits the code grows "beyond my usual comprehension", and Cursor, which sells one of these tools, draws the same conclusion in its help page on vibe coding.

You do not have to read every line to shrink that risk. Ask the AI to explain each change in plain words before you keep it, and to list every place the app stores data. An answer that surprises you is the moment to stop and find someone who codes.

> We don't recommend shipping software you don't understand to production.
>
> Cursor, help page on vibe coding, [Cursor Help: What is vibe coding?](https://cursor.com/help/ai-features/vibe-coding) (read 2026-11-05)

- Asking for the whole product in one prompt. Build one screen, check it, then add the next.
- Pasting an API key into the chat or the page. Put it where the tool keeps secrets, and ask how the app will use it.
- Letting strangers sign up before anyone has read the access rules on the data they will store.
- Accepting every change without a look. Read at least the list of files that changed, so an edit you did not ask for gets noticed.
- Connecting a service that bills by use with no spending limit. Willison singles out usage billing as a place to vibe code with extra care.

## Next: build an app with Lovable

Before the next lesson, write the brief for an app you want: who uses it, what they do, and how you will know it works. Under it, list what the app must never hold, such as passwords or customer records. If that list is empty, the idea is a good first vibe coding project. If it is not, build a version without those parts first.

In [the Lovable lesson](https://mindket.com/learn/vibe-coding/build-app-with-lovable) you take that brief, build the app, change it by pointing at the screen and publish it to a web address. All it needs is a free Lovable account.

## Check yourself

1. By Simon Willison's definition, what turns AI-assisted work into vibe coding?

   A. The AI wrote more than half of the code
   B. Nobody reviews the code the AI writes
   C. The app runs in a browser
   D. The prompt was spoken, not typed

   Answer: B. Willison defines vibe coding as building software with an LLM without reviewing the code it writes.

2. What should a first prompt for a new app leave out?

   A. Who will use the app
   B. What the app should do
   C. Logins and a database

   Answer: C. Lovable's sample first prompt asks for no login or database yet, because a first version without them has less to go wrong.

3. Where does an API key for an email service belong in a Lovable app?

   A. In the Secrets store, used from server code
   B. In the page code, so the browser can reach the service
   C. In the chat history, so Lovable remembers it
   D. In the app's title

   Answer: A. Code running in a visitor's browser cannot keep a key hidden, so Lovable keeps keys in Secrets and calls the service from the server.

4. You want files you keep on your own computer and can hand to a developer later. Which kind of tool fits?

   A. An app builder that hosts the app
   B. A chat app with no project folder
   C. A dictionary of AI terms
   D. An AI editor such as Cursor

   Answer: D. An AI editor changes the files in a folder on your computer, so the code is yours from the first change.

## Frequently asked questions

### Can you vibe code with no coding experience at all?

Yes, for small apps. Cursor's help page names designers building prototypes and product managers standing up internal tools as people it opens software to. What you still need is the habit of testing each change and describing a bug exactly.

### Is vibe coding safe for a business app?

Not on its own. Before customers use it, have someone who reads code check how it stores data, signs people in and keeps keys. Lovable itself suggests a professional security review for apps that handle sensitive data.

### Do you need to pay for vibe coding tools?

Not to start. Lovable's free plan includes five build credits a day, up to 30 a month. Cursor has a Free plan with limited usage, and signing in to Copilot in VS Code without a plan enrolls an eligible account in Copilot Free. A bigger project soon runs past those allowances.

### Which vibe coding tool should a beginner start with?

The one that matches what you want by the end of the week. A link to share points to an app builder, which publishes for you. Files you can keep and hand to a developer point to an AI editor, where you run the app yourself.

## Sources

- [Andrej Karpathy on X, February 2, 2025](https://x.com/karpathy/status/1886192184808149383) (read 2026-11-05)
- [Andrej Karpathy on X, February 4, 2026](https://x.com/karpathy/status/2019137879310836075) (read 2026-11-05)
- [Simon Willison: Not all AI-assisted programming is vibe coding](https://simonwillison.net/2025/Mar/19/vibe-coding/) (read 2026-11-05)
- [Simon Willison: Vibe coding and agentic engineering are getting closer than I'd like](https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/) (read 2026-11-05)
- [Y Combinator on YouTube: Andrej Karpathy: Software Is Changing (Again)](https://www.youtube.com/watch?v=LCEmiRjPEtQ) (read 2026-11-05)
- [Collins Dictionary blog: Word of the Year 2025](https://blog.collinsdictionary.com/language-lovers/collins-word-of-the-year-2025-ai-meets-authenticity-as-society-shifts/) (read 2026-11-05)
- [Cursor Help: What is vibe coding?](https://cursor.com/help/ai-features/vibe-coding) (read 2026-11-05)
- [Cursor Help: Pricing and plans](https://cursor.com/help/account-and-billing/pricing) (read 2026-11-05)
- [Lovable docs: Quick start](https://docs.lovable.dev/introduction/getting-started) (read 2026-11-05)
- [Lovable docs: Security overview](https://docs.lovable.dev/features/security) (read 2026-11-05)
- [Lovable docs: Sync your project with GitHub](https://docs.lovable.dev/integrations/github) (read 2026-11-05)
- [VS Code docs: Set up GitHub Copilot](https://code.visualstudio.com/docs/setup/copilot) (read 2026-11-05)

[Browse skills](https://mindket.com/skills)
