Skip to main content
Blog Article

Vibe Coding: Am I Doing This, and Should I Be Worried?

Vibe coding

You've probably seen the memes:

This component was built entirely on vibes.

Vibe coding my way through production like it's a jazz solo.

But what is vibe coding, really? Is it as reckless as it sounds? Is it secretly how we all code when no one's watching? And... am I doing it too? Let's find out together.

What Is Vibe Coding?

Vibe coding is what happens when you code more by gut feeling than concrete understanding. It's not guided by specs, strict patterns, or documentation. It's guided by...vibes.

Examples:

  • Writing something because it feels right, not because you know it's right.
  • Copy-pasting from Stack Overflow and tweaking until it works (or at least compiles).
  • Styling a component by adding random Tailwind classes until the design feels good enough.
  • Solving a bug by removing code and hoping no one notices.

It's like improvisational jazz, but for front-end development.

Do I Vibe Code?

Let's be honest: yeah, sometimes. I've spent most of my career writing thoughtful, accessible, maintainable front-end code. But I've also spent plenty of time logging console.log('here') in ten places because I couldn't figure out where the bug was hiding. Or adjusting a value in a CSS transition until it just felt right. That's vibe coding.

So no, I don't live in vibe mode. But I visit occasionally. And I'm willing to bet most devs do too.

Why Vibe Coding Happens

  • Unclear requirements. If no one really knows what it's supposed to do, you're building on feel.
  • Deadlines. Vibes ship faster than specs.
  • Debugging mystery bugs. Sometimes you just have to poke the code until it reacts.
  • Exploration. Vibe coding is often how we discover better approaches (even if we later throw them out).

Where LLMs and AI Tools Fit In (and Fuel the Fire)

You might wonder, "Wait, isn't vibe coding just what happens when I let ChatGPT write my code?" Sort of. Large language models like ChatGPT, Gemini, Claude, and tools like GitHub Copilot or the Cursor code editor are increasingly involved in how we code—and they do encourage a certain kind of vibe coding. These tools often:

  • Suggest code that looks right based on patterns, not guarantees.
  • Offer completions without context of your entire problem space.
  • Nudge you toward accepting solutions you don't fully understand (yet).

Copilot, in particular, has been dubbed the patron saint of vibe coding—quietly finishing your thought before you've even formed it. Cursor pushes that even further by wrapping your editor in AI context and file awareness, making it feel like you're collaborating with an all-knowing assistant... even if it occasionally hallucinates your imports.

So yes—AI can supercharge vibe coding. But that doesn't mean it's bad. It just means you need to treat AI-generated code with the same level of scrutiny you (hopefully) apply to your own hastily-written prototypes.

Ultimately, vibe coding isn't about the tool—it's about your mindset. These tools make it easier to follow your gut, but they don't absolve you from using your brain.

When It's Actually Kinda Great

Vibe coding gets a bad rap, but it has its moments:

  • Prototyping: When speed matters more than polish.
  • Tinkering: When you're playing with a new API, framework, or design idea.
  • Debugging: When you're elbow-deep in stack traces and just need to break the loop.
  • Creative work: Layouts, animations, UX flourishes... sometimes you need to play.

Vibe coding is often where the ideas happen. The trick is knowing when to transition out of it.

When It Becomes a Problem

Of course, vibe coding unchecked can lead to:

  • Unmaintainable code: You wrote it in a flow state. Good luck explaining it later.
  • Bugs: If it works but you don't know why, it probably won't for long.
  • Poor handoff: Your teammates aren't psychic. They'll struggle to build on vibe logic.
  • Zero test coverage: It's hard to test code that was duct-taped together on instinct.

Finding the Balance

I've found a system that works for me:

  • Use vibes during exploration. Vibe coding is great for unsticking yourself or filling in the gaps.
  • Switch to structure before committing. Once the idea is proven, it's time for cleanup.
  • Comment when unsure. If you don't have time to rewrite it clearly, at least leave a trail.
  • Ask for a second pair of eyes. If it feels like a guess, a teammate might see the trap.
  • Treat LLMs like interns. Helpful, fast, occasionally brilliant—but double-check their work.

The Bottom Line

Vibe coding is real. It's a little chaotic. And it's not always a bad thing. If you never vibe code, maybe you're too rigid. If you only vibe code, maybe slow down. But if you use it as a phase in your process—one you exit intentionally—then congrats, you've found the sweet spot between instincts and engineering.

So am I a vibe coder? Not full-time. But I've been known to play a solo or two when the situation calls for it. Sometimes with a little help from my robot bandmates.

Just don't ship a whole product on vibes alone.