Vibe coding is a way of building software where you describe what you want to an AI model in plain language, run what it produces, and keep asking for changes until it works, without writing or closely reading the code yourself. The term was coined by AI researcher Andrej Karpathy in early 2025. Google Cloud's explainer describes it as a workflow where "the primary role shifts from writing code line-by-line to guiding an AI assistant to generate, refine, and debug an application through a more conversational process."
The word "vibe" is the point: you judge the work by how the app behaves, not by inspecting the code behind it. That makes vibe coding fast and accessible, and it is also why it needs care once real users are involved.
Where does the term vibe coding come from?
AI researcher Andrej Karpathy coined the phrase in early 2025 for a style of building software where the AI writes the code and the human mostly steers. Google Cloud's summary says Karpathy framed this as akin to "forgetting that the code even exists," and suited it to what he called "throwaway weekend projects."
The phrase caught on quickly because it named something many people were already doing with AI code editors and browser-based app builders. Since then its meaning has stretched. Some people use it for any AI-assisted coding; others keep the original sense of not reviewing the code at all.
Is vibe coding the same as AI-assisted coding?
Not quite. Google's explainer separates two ways the idea is applied:
- "Pure" vibe coding: "In its most exploratory form, a user might fully trust the AI's output to work as intended." Speed is the goal, and the code is disposable.
- Responsible AI-assisted development: "The user guides the AI but then reviews, tests, and understands the code it generates, taking full ownership of the final product."
Both start with a plain-language request. The difference is what happens after the code appears. In the strict sense, if you read, test and understand every line, you are using AI as a fast collaborator rather than vibe coding.
| Traditional programming | Vibe coding | |
|---|---|---|
| How code is written | By hand, line by line | Generated by AI from plain-language prompts |
| What you focus on | Implementation details and syntax | The outcome you want |
| How bugs get fixed | Reading and understanding the code | Describing the problem and asking for a fix |
| Barrier to entry | Knowledge of languages and tools | Being able to describe what you want |
| Maintainability | Relies on code quality, developer skill and practices | Can depend heavily on AI output quality and review |
The table is adapted from the comparison on Google's page.
How does vibe coding work?
Google describes a tight loop at the code level:
- Describe the goal in plain language, such as "Create a Python function that reads a CSV file."
- The AI generates code from that request.
- Run it and see whether it works.
- Give feedback, such as "That works, but add error handling for when the file is not found."
- Repeat until the code does what you need.
At the app level the same idea scales up: describe the whole application in one prompt, let the AI generate a first version with its interface, backend and file structure, then refine it with follow-up prompts. Google adds two later steps that are easy to skip: "A human expert reviews the application for security, quality, and correctness," and then you deploy it. Google also uses the term "vibe deploying" for launching an app to production with a single click or prompt.
What tools do people use for vibe coding?
Google's FAQ lists two categories of vibe coding tools. The example tools in each item below are Kipt's own grouping, not Google's list:
- Full-stack app builders that, in Google's words, "work best for rapid prototyping and non-technical MVPs." Google points to its own AI Studio for quick prototypes. Browser-based builders such as v0 and Lovable also fit this description. See v0 prompts and Lovable prompts.
- AI code editors and terminal agents that "suit people working within existing codebases or building production-ready software." Tools that fit here include Claude Code, Cursor, Codex and Gemini CLI.
The second group are AI coding agents: they read files, run commands and edit code in a loop. Our explainer on what an AI coding agent is covers how they work, and agentic coding covers using them well.
What is vibe coding good for?
Vibe coding shines where speed matters more than longevity:
- Prototypes and demos to test an idea with real people before investing in it.
- Personal tools and scripts, such as a spreadsheet cleaner or a small dashboard only you will use.
- Throwaway experiments, the weekend projects the term was coined for.
- Learning, where seeing working code for your idea can teach you how it is built.
- Non-developers building simple things. Google's FAQ says "people without any background in software engineering can build functional applications just by describing what they want." Our guide to Claude Code for non-developers is a practical starting point.
What are the risks of vibe coding?
The risks come from the same thing that makes it fast: nobody has read the code.
- Security holes. Generated code can expose secrets, skip input validation or leave a database open. If the app handles logins, payments or personal data, unreviewed code is a liability.
- Hidden edge cases. An app can work in the demo and fail on real data. Google's vibe coding FAQ notes that "managing edge cases, fixing complex bugs, or handling security guidelines still requires a clear understanding of logic and troubleshooting when things break."
- Maintenance debt. Code nobody understands is hard to change. Each new prompt can pile fixes on fixes until the AI itself struggles with the codebase.
- Agents acting on your machine. A coding agent can run commands and install packages. Anthropic's Claude Code docs warn about "the trust-then-verify gap," where "Claude produces a plausible-looking implementation that doesn't handle edge cases."
- Prompt injection. An agent that reads web pages, issues or dependencies can meet text written to manipulate it. See prompt injection in coding agents.
How do you vibe code more safely?
You can keep most of the speed while removing most of the risk. Anthropic's Claude Code best practices offer habits that apply to any tool:
- Give the AI a way to check its work. The docs advise: "Give Claude a check it can run: tests, a build, a screenshot to compare." A passing test is a much better signal than "it looks done."
- Plan before building anything big. Claude Code's plan mode lets the agent explore and propose a plan without editing files. The docs suggest skipping the plan only when "you could describe the diff in one sentence."
- Save your progress. Commit to git after each working step. Claude Code also has checkpoints you can rewind to, though the docs say "This isn't a replacement for git."
- Ask for evidence. Have the agent show the test output or a screenshot rather than just claiming success.
- Review before you ship. Follow Google's lifecycle step and have someone who can read code check anything that goes to real users. The Claude Code docs put it simply: "If you can't verify it, don't ship it."
- Keep secrets out of prompts and code. Use environment variables, and never paste production credentials into a chat.
How do you get better at vibe coding prompts?
Most of the skill is in the prompts. Clear prompts state the goal, the users, the stack and what "done" looks like, and then ask for one change at a time. Our vibe coding prompts collection has templates for going from a one-line idea to a shipped app.
Prompts that work are worth keeping. Kipt saves prompts as Markdown in a private GitHub repo you own, with {{name:default}} blanks for the parts that change, so your best "build me a dashboard" or "fix this bug and add a test" prompt is a Cmd+K search away next time.
What should you read next?
If you want to move from vibe coding toward reviewed, production-ready work, read agentic coding next. For a ready-made starting point, try the vibe coding prompts.