Vibe coding made a stunning career as a term and as a concept. How far can it take us on the journey of building a product from scratch?
Disclaimer: I am fully aware that this post may not age particularly well. We are witnessing rapid advancements in AI capabilities. Things that were barely conceivable 5 years ago are today's reality. Still, the discussion about vibe coding deserves a pragmatic and down-to-earth take.
In software development, or even IT as a whole, the term "vibe coding" has made the most stellar career ever. Coined in February 2025, a month later, half of the industry knew what that was.
It's no wonder. Software development was on a quest to figure out how to create digital products without coding for decades. Funnily enough, all companies I worked for, save one—Lunar Logic—were trying to build their own code generation tools. You may guess how well they fared on that account.
But suddenly, we do have tools that can achieve that. And they're available for pennies.
Before we dive deep into vibe coding, let's look at a broader picture. A ton of code is already AI-generated. Look at any software developer's workstation, and they are using one AI tool or another in everyday tasks.
It started with code snippets copied from ChatGPT and pasted into the codebase by developers. Then, it quickly evolved into more specialized tools that actively work on code repositories. It wasn't long before we reached the capabilities to tell an AI model what we wanted to achieve in plain English, not tech jargon.
The next logical step? Leaders of big techs boasting whose company has more AI-generated code in their repositories. The underlying message is that if Microsoft and Facebook can generate large chunks of their code, anyone can.
Leaders of the companies building code generation tools will make bold predictions like: "90% of code will be written by AI within 10 months."
It all builds a coherent picture. If you don't generate much of your code with AI, you are behind, and you will become obsolete.
Which, by the way, is not true. Yet, undeniably, that's a prevailing message everyone gets.
While the transition for a developer may sound rapid but gradual, the playing field for aspiring founders is a whole new game.
In the past, they had to rely on hiring tech teams to turn their ideas into something tangible. Now, all they need is a modest subscription, and voila! They suddenly get a superpower to build them a digital product with just a few prompts.
Lovable—one of such tools—is the newest darling of the startup world. It receives praise for how quickly it built its revenues and the amount of revenue it generates per employee. Certain people have started hyping the possibility of building a $1B single-person company (and yes, you've guessed it, these would be the same people whose businesses build AI tools).
So, what does the nearest future of product development look like?
Should we expect many vibe-coded products with little to no involvement of any technical team? Well, don't hold your breath.
I've not been an active developer anymore for more than two decades now. I still understand enough technicalities to hold myself in a discussion about architecture. I don't need to pull engineers for conversations with the CTOs of our clients.
I'm not your out-of-the-mill non-technical person. What's more, having run a product development consultancy for a dozen years, I have a deep appreciation for all sorts of issues that will arise throughout the software life cycle.
I compensate for whatever tech savvy I have with my admittedly low patience for technical troubleshooting. Still, I'm probably a couple of steps ahead of the founder-dreamer who was promised to generate their next product with AI.
I decided to give the vibe coding a try to understand better where it lands in the product development ecosystem.
The idea was nothing big, mind you. An app that would log in to LinkedIn and pull some data from there.
After the first couple of prompts, color me impressed. Lovable generated clickable prototype with aesthetic UI and passable UX, no sweat. Deploy to the production environment went flawlessly with one click (OK, two).
Except LinkedIn authorization didn't work. If there was a pivotal feature, it was that, so I kinda needed to make it work.
Some 10 prompts and one brief research on LinkedIn OAuth later, we made it one step further. I got the app to the stage where it actually redirected me to LinkedIn authorization form.
Not that it would authorize me in any way or be able to pull any LinkedIn data. Nothing like that.
Further prompting did nothing. Well, save for:
Was it fun? No, not really.
Did it work? Not even close.
Now, wasn't it a vibe coding experiment, it would make sense to look into the code and retreat to old-school debugging and programming. After all, it's a straightforward API integration. No rocket science whatsoever.
Seemingly, it's too complex for the most hyped vibe coding startup we have these days.
Admittedly, I issued Lovable a challenge. I wanted it to generate software that integrates with something else. The context couldn't be entirely internally focused.
If I wanted a landing page with some dynamic content—or something equally isolated—then Lovably would probably shine. I give it that much.
The only problem is that there aren't many viable digital products that can exist in such a state of isolation. In fact, the evolution of product development that has been occurring continuously over at least the last three decades is toward greater interconnectivity between all sorts of software.
After all, it doesn't make sense to rebuild something that already exists. Unless that's what's the future of vibe coding. But if that's it, then we should be scared.
Having said that, even if we accept interconnectivity as a limitation, vibe coding can bring a ton of value in prototyping and validation. Think of it as flipping the script. Assume I didn't want to build an app but rather put something in front of the eyeballs of potential customers to learn whether it solves their problem.
From that perspective, I couldn't care less whether authorization works or not. It would be enough to have something simulating the authorization, which is what I had after the second prompt.
So, vibe coding as a prototyping/validation tool? Absolutely!
As a product development tool? Not even remotely close.
Now, let's assume Lovable was able to do what I asked it to do. Would I be happy?
Not at all.
I'm not that easy to please, I guess.
One hint was hidden in the warning I got from Lovable—the one about a file getting over 800 lines of code. Consciously, as developers, we wouldn't create such a thing. We would refactor the code to make it more manageable, understandable, and maintainable.
I'm positively surprised that Lovable suggests improvements on this account. However, the tool creating the problem in the first place indicates that there are far more quality issues in whatever was generated.
What follows, there will be bugs, mishandled edge cases, security vulnerabilities, performance issues, and more. That's a long-term maintainability nightmare.
I wouldn't bet the long-term sustainability of business on a vibe-coded product. Not now. Not anytime soon.
If we're talking about the product, however, there's one more reason why vibe coding will be just a contextual tool and not the main tactic.
A product does not equal features. It does not equal code.
Each time someone claims how much more productive we can be thanks to AI, which can generate orders of magnitude of code and/or features more than we could manually, I shake my head in disbelief.
It's like coming back to counting lines of code as a measure of productivity.
It's as if we never understood the role of clean design and less-is-more principle.
It's almost as if every single bell and whistle magically added value to a product, while we know that a significant majority of features are rarely or never used.
Instead of asking whether we could build something, we should be asking why should we?
Vibe coding won't give us this answer. What's more, it can push us toward building more (unnecessary) things because it's cheap in the short term.
That's just bad product development. If that worked, we'd never see disruption in established product lines, as existing players have more resources to keep ahead of everyone else by adding more stuff to their solutions. In fact, their big teams are incentivized to do that as, well, they need to have something to do.
And yet, we see such disruption over and over again.
Product success depends largely on judgment and creativity. AI can help (but not do the entire work) with the latter but is useless with the former.
The reality we're looking at as of the moment of writing this (May 2025), the state of vibe coding is so:
In short, vibe coding is a useful tool. But don't hold your breath to see actual successful products vibe coded from scratch and maintained in such a manner. You still need a capable technical team if you want to build a sustainable business on a product.
However, we will likely see some bold claims behind meteor fads soon enough. There are enough people invested in the narrative that it's bound to happen. Don't bet too much on these stories, though.
If the topic of early stage product development, including how AI fits the picture, is interesting for you, consider subscribing my Pre-Pre-Seed Substack, which is entirely dedicated to those conversations.
We don’t just build software, we understand your business context, challenges, and users needs so everything we create, benefits your business.