In February 2025, Andrej Karpathy posted a simple tweet. He described how he codes now — just talking to AI, accepting whatever it produces, and barely reading the code. He called it “vibe coding.” That tweet changed how millions of developers think about writing software.
Let me explain what it actually means, where it came from, and how to do it well.
What is Vibe Coding?
Vibe coding means you describe what you want in plain English, and AI writes the code for you. You don’t write the code yourself. You don’t even look at the code most of the time. You just tell the AI what to build, check if it works, and keep going.
You describe the vibe of what you want. The AI does the rest.
A Simple Example
Without vibe coding:
1. Open your editor
2. Think about the logic
3. Write every line of code
4. Fix the bugs
5. Write more code
6. Fix more bugs
With vibe coding:
1. Tell AI: "Build me a todo app with dark mode and local storage"
2. AI writes all the code
3. You try it
4. Tell AI: "The delete button is not working, fix it"
5. AI fixes it
6. Done
You never open a code file. You never read the code. You just talk to the AI and check the result.
Where Did the Term Come From?
Andrej Karpathy — a founding member of OpenAI and former head of AI at Tesla — popularized this term in February 2025. He posted on X:
“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.”
This was not a joke. He was describing his actual workflow. He uses AI to build real software, and he does not read most of the code it produces.
The term exploded. Within months, “vibe coding” went from a tweet to a movement. Collins English Dictionary named it Word of the Year 2025. Search volume increased 6,700% in the first year. By 2026, the vibe coding market reached $4.7 billion globally.
Now in 2026, it is a normal part of how people talk about software development. But it is not just “using AI to write code.” It is a different way of thinking about software development.
How Does Vibe Coding Work?
The workflow looks like this:
You describe what you want (in English)
↓
AI generates the code
↓
You run it and check the result
↓
You give feedback ("change this", "fix that")
↓
AI updates the code
↓
Repeat until it works
You are not coding. You are directing. Like a film director who tells actors what to do but doesn’t act themselves.
Here is what this looks like in practice:
Traditional approach — adding search to a web app:
1. Research search algorithms
2. Design the search index structure
3. Write the search function (50-100 lines)
4. Write the API endpoint
5. Write the frontend search bar component
6. Write the debounce logic
7. Test edge cases
8. Fix bugs
9. Time: 4-6 hours
Vibe coding approach:
You: "Add full-text search to the notes app. Use the existing
SQLite database. Add a search bar to the top of the notes list.
Debounce the input by 300ms. Show results as the user types."
AI: [writes all the code — backend, frontend, debounce logic]
You: [test it, search works but results are slow]
You: "Search is slow with 1000+ notes. Add an FTS5 virtual table
for full-text search instead of LIKE queries."
AI: [rewrites the search to use FTS5, adds migration]
You: [test again, works fast]
Time: 20 minutes
The key difference from normal AI-assisted coding: in vibe coding, you don’t review the code. You only care about the result. If the app works, the code is fine. If it doesn’t, you tell the AI to fix it.
Vibe Coding vs Normal Coding vs AI-Assisted Coding
People confuse these three things. Here is the difference:
| Normal Coding | AI-Assisted Coding | Vibe Coding | |
|---|---|---|---|
| Who writes the code? | You | You + AI together | AI |
| Do you read the code? | Yes | Yes | No |
| Do you understand the code? | Yes | Yes | Not necessarily |
| How do you verify? | Code review + tests | Code review + tests | Run it and check |
| Tools | VS Code, IntelliJ | Copilot, Cursor | Cursor, Bolt, Lovable, Replit |
| Speed | Slow | Fast | Very fast |
| Control | Full | High | Low |
There are also three distinct modes of AI-assisted development, and knowing when to use each one is the first skill you need to learn:
Mode 1: Autocomplete. AI suggests the next few lines as you type. You press Tab to accept. Tools: GitHub Copilot, Cursor Tab. You are still in control — the AI is just saving you keystrokes.
Mode 2: Chat. You describe a task in plain English and the AI writes the code. You copy it into your project, adjust it, and move on. Tools: Claude Code, Cursor Chat, Copilot Chat.
Mode 3: Agent. This is full vibe coding. You describe a feature or change, and the AI agent reads your codebase, makes changes across multiple files, runs tests, and even commits the code. Tools: Claude Code (terminal agent), Cursor Composer/Agent, Copilot Agent Mode. The agent might create 5-8 new files, modify 3 existing files, install packages, and run the tests — all without you touching a single file. This is the mode Karpathy was talking about.
Best Vibe Coding Tools in 2026
Not all AI tools are good for vibe coding. You need tools that can generate entire applications, not just autocomplete one line. Here are the best ones:
For Developers: Cursor
What it is: An AI-powered code editor (VS Code fork) with an agent that can build entire features.
How to vibe code with it: Open Cursor, describe what you want in the Composer panel, and let the agent create files, write code, and make changes across your project.
Best for: Developers who want to vibe code but also check the code when needed. You can always look under the hood.
Price: Free tier available, Pro at $20/month.
For Web Apps: Bolt.new
What it is: A browser-based tool that builds full-stack web apps from a description. No installation needed.
How to vibe code with it: Go to bolt.new, describe your app, and watch it generate a working web app in minutes. You can deploy it with one click.
Best for: Prototypes, hackathons, demos. Fast results but not great for production apps you need to maintain.
Price: Free tier available, paid plans start at $20/month.
For Non-Coders: Lovable
What it is: An AI tool that generates both the design and the code. It feels more like talking to a designer than a coder.
How to vibe code with it: Describe your app. Lovable generates a beautiful UI with real code behind it. You can edit the design visually or keep prompting.
Best for: People who don’t code at all. Founders, designers, product managers who want to build a prototype without a developer.
Price: Free tier available, paid plans from $20/month.
For Everything: Replit
What it is: A cloud coding platform with an AI agent that can build complete apps. Everything runs in the browser — nothing to install.
How to vibe code with it: Open Replit, talk to the AI agent, and it builds your app in a cloud environment. Database, backend, frontend — everything is handled.
Best for: Beginners and people who don’t want to set up anything. 75% of Replit users never write a single line of code.
Price: Free tier available, paid from $15/month.
For Hard Problems: Claude Code
What it is: A terminal-based AI agent by Anthropic. You run it in your terminal and it works with your files, git, and tests.
How to vibe code with it: Point Claude Code at your project and describe what you want. It reads your codebase, makes changes, runs tests, and fixes problems on its own.
Best for: Experienced developers who want to vibe code on real, complex projects. Not for beginners.
Price: Requires Claude Pro ($20/month) or Max ($100-200/month).
Quick Comparison
| Tool | Best For | Need Coding Skills? | Price |
|---|---|---|---|
| Cursor | Developers, real projects | Some | Free–$20/month |
| Bolt.new | Web app prototypes | No | Free–$20/month |
| Lovable | UI/design-focused apps | No | Free–$20/month |
| Replit | Beginners, learning | No | Free–$15/month |
| Claude Code | Complex, large projects | Yes | $20–$200/month |
Who is Vibe Coding For?
Vibe coding is not just for beginners who cannot write code. In fact, it works best for experienced developers.
Professional developers use it to move faster. You know what good code looks like. You can review what the AI writes. You can catch the mistakes. According to Stack Overflow 2025, 92% of US developers use AI coding tools daily.
Solo developers and indie hackers use it to build things that would normally need a team. One person with AI can build a full-stack app in days instead of weeks.
Non-traditional coders — designers, product managers, data scientists — use it to build tools they need without waiting for engineering. This is the group Karpathy was mostly talking about.
Students use it to learn faster. Ask the AI to explain its code. Ask it to write the same function in three different ways. Use it as a tutor, not just a code generator.
The key insight: vibe coding does not replace coding skill. It amplifies it. The better you understand code, the better you can direct the AI, review its output, and fix its mistakes.
What Can You Build with Vibe Coding?
Works great for:
- Landing pages and simple websites
- CRUD apps (todo, notes, inventory)
- Prototypes and MVPs
- Internal tools and dashboards
- Browser extensions
- Simple mobile apps
- Automation scripts
- API integrations
Does not work well for:
- High-security applications (banking, healthcare)
- Performance-critical systems
- Large-scale production apps with millions of users
- Anything where a bug could cause real harm
- Complex algorithms and data structures
The rule is simple: if the cost of a bug is low, vibe coding is fine. If a bug could lose money, leak data, or hurt someone — you need to read and understand the code.
The Hidden Problem: Technical Debt
There is one thing nobody warns you about. Vibe-coded apps often have messy code underneath. The AI generates code that works, but it might not follow clean architecture. Functions might be too long. Logic might be duplicated across files.
This is fine for a prototype. But if you plan to maintain the app for months or years, “Future You” will struggle to understand and change the code. Keep this in mind — vibe code for speed, then clean up if the project survives.
Real Example: Building a Markdown Converter
Here is a complete vibe coding session, start to finish. I used Claude Code to build a simple tool.
The task: Build a CLI tool that converts Markdown files to clean HTML.
First prompt:
Build a Python CLI tool called md2html. It takes a markdown file
as input and outputs clean HTML. Use the click library for CLI
args. Support:
- Input file path (required)
- Output file path (optional, defaults to same name with .html)
- A --watch flag that re-converts when the file changes
Claude Code created three files: md2html.py, requirements.txt, and a README.md. The basic conversion worked on the first try.
Second prompt (after testing):
The code blocks in the output don't have syntax highlighting.
Add Pygments for code highlighting. Also add a --style flag
that lets the user pick a Pygments theme. Default to "monokai".
Claude Code modified md2html.py, added Pygments to requirements.txt, and updated the CLI arguments. It took about 15 seconds.
Third prompt (a problem I found):
When I use --watch, it crashes if I save the file while it's
in the middle of converting. Add proper file locking or just
catch the error and retry.
Claude Code added error handling with a retry mechanism. Total time from start to working tool: 8 minutes.
Could I have written this myself? Yes. It would have taken about an hour. The vibe coding approach was not just faster — it was more fun. I focused on what the tool should do, not on how to implement file watching or Pygments integration.
Is Vibe Coding Replacing Real Coding?
No. And here is why.
Vibe coding is great for building fast. But someone still needs to understand what the code does when things go wrong. And things always go wrong.
Think of it this way:
- A car can drive itself on the highway (vibe coding)
- But you still need a driver who can take the wheel when something unexpected happens (real coding)
In 2026, the most productive developers are not choosing one or the other. They use both:
- Vibe code to build the first version fast
- Review and understand the important parts
- Vibe code again for changes and new features
- Manually fix the tricky bugs that AI cannot solve
Some people call this approach “agentic engineering” — you direct the AI like an agent, but you still understand the system.
Common Mistakes When Starting
Most developers make the same mistakes when they start vibe coding. Here is what to avoid:
Prompts that are too vague. “Build me a todo app” gives mediocre results. “Build a todo app with React, local storage persistence, drag-and-drop reordering, and dark mode support” gives much better results. Be specific about what you want.
Not testing the output. AI-generated code can look correct and still have bugs. Always run the code. Always test edge cases. Never trust code you have not tested.
Not iterating. If the first result is not what you wanted, do not start over. Give feedback. “The sort is wrong — it should sort by date descending, not ascending.” Iteration is faster than rewriting your prompt.
Using AI for things you should learn yourself. If you are a student learning to code, do not let AI write your first functions. Write them yourself. Understand the basics. Then use AI to accelerate the work you already understand.
Ignoring security. AI does not think about security unless you ask. Always review authentication code, database queries, and API endpoints yourself. See When NOT to Vibe Code for the full list of anti-patterns.
How to Start Vibe Coding Today
If You Are a Developer
- Install Cursor (free tier) or Claude Code
- Open a new project
- Describe what you want to build
- Let the agent work
- Test the result
- Give feedback and iterate
If You Are Not a Developer
- Go to bolt.new or lovable.dev
- Describe what you want in plain English
- Be specific — “a task manager with categories, due dates, and dark mode” is better than “a task app”
- Test the result in the preview
- Keep giving instructions until it looks right
- Deploy it
Tips for Better Results
Be specific. “Build me an app” gives bad results. “Build me a recipe app where users can save recipes, search by ingredient, and generate a shopping list” gives great results.
Describe the UI. “Use a sidebar navigation with a clean, minimal design” helps the AI make better choices.
Give feedback in small steps. Don’t say “everything is wrong.” Say “the header is too big” or “move the search bar to the top.”
Test after every change. Don’t ask for 10 changes at once. Ask for one, test it, then ask for the next.
Key Takeaways
- Vibe coding means describing what you want in plain English and letting AI write the code. It was coined by Andrej Karpathy in February 2025.
- There are three modes: autocomplete (light), chat (medium), and agent (full vibe coding). Learn when to use each one.
- It works best for experienced developers who can review and direct AI output. It amplifies skill — it does not replace it.
- Start small, be specific in your prompts, always test the output, and iterate on the results.
- Should every developer try it? Yes. Should you rely on it for everything? No. Know when to vibe and when to actually read the code.
What’s Next?
Next up: Choosing Your AI Coding Tool — a detailed comparison of Claude Code, Cursor, and GitHub Copilot to help you pick the right tool for your workflow.
For a quick reference on all AI coding tools, check the Vibe Coding Cheat Sheet.
Related Articles
- Cursor vs Claude Code vs GitHub Copilot — detailed comparison of the top AI coding tools
- 7 Best Free AI Coding Tools in 2026 — start vibe coding without paying
- How to Set Up Claude Code — get started with the most powerful AI coding agent
This is part 1 of the Vibe Coding series.