Apr 17, 2025
|
9
min read

"Sometimes you just have to play the role of a fool to fool the fool who thinks they are fooling you."
With the rise of recent AI tools like Lovable, Bolt, and v0, building apps and websites with AI has become such an ease — nowadays known with a term called as "vibe coding".
But what these tools are really good at is generating high-quality low-level code, and one needs to understand how to use these tools effectively and not 'surrender' to it.
What is vibe coding ?
The term "vibe coding" was introduced by AI notable Andrej Karpathy, who described it as a 'hands-off, prompt-driven way to build software by outsourcing most of the work to large language models.'
Coding influencers and pop culture have gotten a hold of the term, especially popularised by Peter Levels, who built a MMA fight simulator with it. But there's a reason why companies are afraid of developers using beyond an extent
Reality check
While these new technologies are powerful, they are like an unbundled monster which needs to be given a form and shape. See, vibe coding can work — but it needs to be backed by experience, understanding and clear thinking. The eye-dropping examples you see, like a MMA fight simulator works because the ones building it are pros and have worked on this thousand times before.
It’s hard to judge because there is a vast difference between production grade products that can have paying customers and simple prototypes. The key issues comes as things scale cause since you have not written the code yourself and the AI is also not in a clear position to understand it either.
The 70-30 Problem

This was a recent tweet that I really resonated with as this space is growing. This "70% problem" highlights a key truth about AI-assisted development today. At first, the experience feels almost magical — describe your idea, and tools like v0 or Bolt can spin up a sleek working prototype. But then the illusion fades, and the hard part begins when you start taking one step forward and two steps back.
You fix one bug with AI’s help, but the “fix” breaks something else as the AI hallucinates onto something else. Each new request to the AI spawns more issues, creating a cascade of problems.
For amateurs and non-engineers, this is especially tough—they don’t have the mental models or experience to diagnose what’s going wrong. Without that foundation, it becomes a game of whack-a-mole with unfamiliar code.
What's the solution?
Three simple words: Do not surrender.
While the technology is extremely powerful and lucrative to use, you need to take a step back and need to essentially be your AI's "Product Manager" — breaking the task into well-defined and small instructions. There's a whole guide to how to do it prompting that you can refer to as well.
Additionally, even more specific context and input like importing a Figma design makes the overall process much better.
The counterintuitive bit is that AI works better with experienced devs rather than amateurs. Even though AI has democratised software development like no other technology before, but by surrendering yourself to AI without knowing what it's generating is or having the ability to debug is not the right approach.
The good news? This gap will likely narrow as tools improve. But for now, the most pragmatic approach is to use AI to accelerate learning, not replace it entirely.
This is the knowledge paradox which ones needs to understand where:
Senior developers use AI to move faster on things they already understand since they know what the final
Junior developers use AI to figure out what they want to do in the first place
Simpler tips to avoid this issue can be to:
Use a simpler stack to start off with
Get good with Git basics: AI can accidentally delete good code. Version control is your safety net
The simplest and most powerful: If you don't know what to do - ask it for suggestions, and not tell to implement on the go
Document your edge cases before starting out and test your AI prototype on the same
What's next: Vibes + Discipline
Don't just ride the wave, learn how to surf on it.

The key insight I’ve gained from working with these tools is that the future of development isn’t about AI replacing engineers. It’s about AI becoming an increasingly capable collaborator — one that can take initiative, generate ideas, and even write solid chunks of code, but still depends heavily on human judgment, context, and structure.
To build successfully with AI, you don’t need to become a traditional coder — but you do need to become a great architect. The vibe coding bit can accelerate momentum, but discipline keeps you grounded and focused, helping you guide the AI, course-correct when needed, and shape something that’s not just functional — but stable, scalable, and yours.