Blog.

What is Vibe Coding?

Cover Image for What is Vibe Coding?
Elliott A. Marquez
Elliott A. Marquez

Vibe Coding: A New Way to Build Software

Vibe coding is a new approach to software development that uses artificial intelligence (AI) to turn natural language prompts into working code. The result is faster development and broader accessibility—opening app creation to those with limited programming experience.

What It Means

With the rise of Large Language Models (LLMs) and related AI tools, coding is shifting away from mastery of specific programming languages and toward plain speech.

Andrej Karpathy — Tesla/OpenAI researcher and creator of the term “vibe coding” — puts it simply:

“I ask for the dumbest things like ‘decrease the padding on the sidebar by half’ because I’m too lazy to find it.”

This captures the essence of the change: instead of manually searching through code to make adjustments, you describe what you want and let the model generate the update.

Vibe Coding in Practice

IBM frames vibe coding less as a shortcut and more as a tool for rapid prototyping:

“Rapid prototyping is becoming a key enabler for teams to move ideas from early-stage concepts to functional prototype to scale.”

In practice, this means that effective prompting allows both beginners and experienced developers to describe the outcome they want and receive usable code snippets they can refine and integrate.

Still, IBM notes its limits:

“Vibe coding can handle basic standard frameworks, but for real-world applications where technical requirements can be novel or complex, vibe coding becomes challenging.

…As vibe coding continues to gain traction in the ecosystem, there will be a change in the way ideas get formed.”

It’s a Vibe

Karpathy also acknowledges the trade-offs:

“The code grows beyond my usual comprehension, I’d have to really read through it for a while. Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away.”

This suggests a workflow that might look like:

  1. Spot the problem
  2. Ask the model for a fix
  3. Accept or paste in the changes
  4. Test and deploy

But this overlooks a subtle, recurring issue—not hallucination, but unintended deletion.

Potential Pitfalls

One common risk is solving one problem only to introduce another, as a fix may alter or remove functionality elsewhere.

Another lies in the creative rush: developers may be tempted to prototype impulsively or add complex features without considering long-term stability.

The Road Ahead

Quick searches online or a scroll through social media reveal a wide range of opinions on vibe coding—from enthusiastic adoption to healthy skepticism. But what seems certain is that the power and availability of these tools will only expand. As they become more refined and routine, vibe coding may well move from an experimental practice to an accepted standard in the way software is built.