What are the real benefits and risks of vibe coding?

Developing a game or a full-fledged app used to take weeks, if not months, of heads-down coding, troubleshooting, and testing. Now you can literally prompt it into existence in an afternoon (with some caveats that I’ll explore in a bit).

The point is: we’re watching very technical skills getting “democratized” by AI. Large language models (LLMs) are enabling anyone savvy enough with a computer and internet access to create digital products from the ground up without touching a single line of code. Just vibes.

It’s important to add a disclaimer though: it’s true anyone can attempt at a digital product from zero with AI only — be that an app, a website, or other — but in order for it to be a production-ready project, it would need some degree of knowledge in the field. I saw this tweet the other day that said “9 out of 10 projects coded by AI have (basic) security vulnerabilities”; issues that a non-technical person wouldn’t be able to spot or solve by themselves.

Nonetheless, things have developed dramatically in the last years and months. With early versions of ChatGPT, devs were excited about debugging or auto-generating boilerplate code. Fast-forward a year, and we’re in a different reality altogether. It’s become easier than ever to build simple, non-production projects with no technical experience whatsoever.

What is vibe coding, exactly?

The term vibe coding was coined by Andrej Karpathy, cofounder of OpenAI and former Director of AI at Tesla. In a now-viral tweet, he described it as “not really coding — I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.”

It’s part command-line wizardry, part improv sketch. A mix of intuition, experimentation, and human-AI collaboration. Less “writing code,” more “conjuring software.”

It’s also been fun to watch experienced developers like Michael Paulson (aka ThePrimeagen) give vibe coding a try and documenting their experience. However, developers like him, Maximilian Schwarzmüller, and others, have a lot of say about vibe coding as a whole. The concept of vibe coding in its essence is precisely the part about surrendering to the vibe and AI, and not caring about the code. That, in itself, has obvious consequences if we’re talking about serious, billable, production projects, as you can imagine. And it’s probably also why Karpathy, creator of vibe coding himself, admits to not using it for real production projects when he stated “it's not too bad for throwaway weekend projects”.

It’s important to look at vibe coding with pragmatism: appreciating what’s it’s great for, and cautioning the instances where it’s probably not a fit for.

Some tools used for vibe coding

There are lots of tools being used for vibe coding, and as we speak there are probably more being created. The AI realm is moving so fast that a matter of weeks are enough for new tools and trends to pop up.

These tools are interfaces so smooth you can “blink software into reality” (with that caveat I mentioned before regarding project complexity) or just talk your way through an entire build. Here’s a rundown of some of the most of them:

The benefits of vibe coding

  1. A lot less (or no) heavy lifting. When you vibe code, you’re skipping the boilerplate, scaffolding, and hours of syntax wrangling.
  2. Creativity leads, not complexity. It’s about flow. You just follow your instincts, experiment, and prototype quickly.
  3. Speed to value. What used to take weeks can now be mocked up in hours. This makes it especially valuable for non-technical founders, product designers, or anyone trying to validate an idea quickly.
  4. Absolute gold for technical coders. If you know what you’re doing and what to look for, coding with AI has immense potential. You get the heavy lift off your shoulders, while having the knowledge to fix things along the way or point the LLMs in the right direction.

The risks of vibe coding

  1. Newcomers won’t be deeply technical developers. It’s the way GenZ will get into the market, for better or for worse. Over-reliance on LLMs can bypass foundational understanding — beginners might skip the “why” behind the code. However, I have to admit that this might not be the only reality; perhaps the opposite can happen: non-technical users actually feeling encouraged to learn how to code because they got their product to 90% with AI, but want to be able to finish those remaining 10% (something ThePrimeagen voiced as well). Something we will only understand in a couple of years, perhaps.
  2. Code quality and security are… debatable. Tools like Cursor can read your file system, generate files, refactor, and architect entire projects from a single prompt. But the more you lean into it, the easier it becomes to lose track of what it actually built. Unless you stop and carefully review every generated file, you might be shipping black-box logic that you don’t fully understand. This is especially valid for non-technical users who might not know how to spot vulnerabilities.
  3. Technical debt builds up fast. When your app is stitched together by vibes alone, it’s easy to end up with a spaghetti monster under the hood. It works now, sure, but good luck scaling it or handing it off to another dev.

Why it matters at all

This isn’t just a fun gimmick or weekend hackathon trend. Vibe coding has real implications:

The gap between ideas and execution has been reduced to basically zero, so we’ll place even more of a premium on great ideas and elegant execution.

Where we go from here

Vibe coding is accelerating the speed of innovation, lowering the barrier to entry, and challenging how we think about product development. But the real winners won’t be those who build the most, they’ll be the ones who build well.

The biggest risks with vibe coding are pretty straightforward. When there's not enough human review of the code, security problems can slip through unnoticed. Second, these quickly-built solutions often miss important features that make software work well in the real world — like being able to handle lots of users, being easy to update later, or dealing with errors properly.

So if you’re serious about scaling, shipping, or standing out, you’ll still need a strong foundation: design that resonates, engineering that holds up, and strategy that makes sense.

Tiago Coelho
CTO