You are currently viewing 56 • Vibe Coding
Vibe Coding

56 • Vibe Coding

Vibe Coding is a software development practice assisted by artificial intelligence (AI) where the developer describes the outcome through natural-language prompts, trusting that the system will figure out the rest.

Instead of carefully designing solutions, you prompt, generate, test, tweak, and repeat. The software begins to take shape quickly, features appear almost instantly, and progress feels effortless. It’s tempting to rely on results and follow-up prompts to guide changes whilst accepting AI-generated code without thorough review.

ORIGIN

The term Vibe Coding was coined by Andrej Karpathy in February 2025 to describe a new style of development enabled by AI systems. In this approach, developers and designers rely on natural language prompts rather than writing detailed code themselves, effectively “giving in to the vibes” and letting the system generate solutions.

The appeal is obvious. Software can be created faster, with less technical friction, and by a much broader range of people. The barrier to entry drops, and the pace of experimentation increases dramatically.

However, a defining characteristic of true vibe coding is that the creator often accepts solutions without fully understanding how they work. The process shifts from building with intention to steering through intuition. The system produces results, and the human guides it – sometimes without ever fully grasping what’s underneath.

WHEN

You’ve encountered Vibe Coding when:

  • You prompt more than you code
    Your primary programming language has become English.
  • AI writes most of the implementation
    You provide intent. The machine handles the mysterious middle bits.
  • Working code is accepted without understanding it
    It runs. Asking additional questions feels unnecessarily negative.
  • Debugging becomes more prompting
    You don’t investigate the bug. You paste the error message back into the chat.
  • Each fix creates another prompt
    The AI fixes problem A, introduces problems B and C, and receives another enthusiastic opportunity to help.
  • The architecture becomes increasingly mysterious
    The application has grown substantially. Your mental model of it has not.
  • You hear: “Don’t touch that file.”
    Not because it’s carefully optimized. Because nobody knows what happens if you do.

WHY

Vibe Coding is incredibly seductive. The following list describes some of the reasons why vibe coding is so seductive:

  • It feels incredibly productive
    Every prompt can produce visible progress. Buttons appear. APIs connect. Features materialize.
  • It collapses time
    Tasks that previously required hours or days can sometimes be completed in minutes.
  • It lowers technical barriers
    People who couldn’t previously build software can now create functional prototypes and applications.
  • The feedback loop is immediate
    Describe. Generate. Run. Adjust. The distance between idea and implementation becomes tiny.
  • Results resemble the Iceberg Model
    Once something behaves properly on the surface, it’s tempting to assume the underlying implementation is equally healthy.
  • Complexity remains invisible
    AI can generate hundreds of lines of code faster than a human can meaningfully inspect them.

HOW

The appearance of speed creates a trap: When the software appears to work, it’s easy to skip understanding, testing, and verification. Vibe Coding works best when it’s treated as a starting point, not a destination. Use the following guardrails to stay in control while vibe coding:

  • Get clear before you generate
    Define the problem, requirements, constraints, architecture, and expected behavior before asking AI to start producing solutions.
  • Use AI to accelerate decisions, not replace them
    Let the system help implement an approach you’ve considered rather than allowing each generated response to determine the next decision.
  • Review before you trust
    Generated code should be inspected just like code written by another developer.
  • Understand the critical pieces
    Authentication, permissions, data handling, payments, security, persistence, and other high-risk areas deserve considerably more than “it seems to work.”
  • Test aggressively
    Happy paths aren’t enough. Test edge cases, failure states, accessibility, security, performance, and integration with real systems.
  • Keep changes small
    Huge AI-generated changes make it difficult to understand what changed, why it changed, and which part caused the next problem.
  • Stop the doom loop
    If repeated prompts keep fixing one problem while creating others, stop generating. Understand the underlying issue before continuing.
  • Match rigor to risk
    Vibing through an exploratory prototype is very different from vibing through authentication for a production banking application.

PRO TIP

Know your goal and start with a well thought-out plan. Vibe-code ideas to adjust the journey. Remember that if you can’t explain why it works, you’re not done yet.

EXAMPLES

  • A designer creates a functional prototype in one afternoon and spends the following weeks trying to understand why it keeps breaking.
  • A startup launches an AI-generated MVP that works until the original creator needs to modify something fundamental.
  • A team repeatedly asks AI to fix bugs that were introduced by previous AI-generated fixes.
  • An application works perfectly with sample data but collapses when exposed to real production conditions.
  • A prototype gradually becomes production software even though nobody ever made the transition from experimental code to deliberate architecture.
  • A developer asks AI to explain its own generated code because nobody on the team understands it anymore. Someone warns: “Don’t touch that file. It works.”

CONCLUSION

Vibe Coding represents a genuine shift in how software can be created. It dramatically lowers the barrier to entry, accelerates experimentation, and enables rapid progress in ways that were previously impossible. At the same time, it introduces a new kind of risk: the separation of building from understanding.

The challenge is not to avoid vibe coding, but to recognize its limits. Used well, it is a powerful tool for exploration and momentum. Used blindly, it creates fragile systems built on assumptions rather than insight.

The vibe may get you to launch. Understanding is what keeps it running.

The greatest compliment you can give is a referral to your family and friends