Vibe Coding: Hype or real?
9/26/2025 • 7 min read
What Is Vibe Coding?
“Vibe coding” is the practice of asking AI to generate code for you. Instead of specifying an exact spec, or writing the code in detail yourself, you just give the AI the general “vibe” of what you’re trying to do in the format of a prompt.
The AI goes off and writes some code, then comes back with a working application.
Vibe coding empowers the least technical people to create software.
I recommend three approaches to vibe coding, depending on what you need:
- Lovable - For non-coders to make websites.
- OpenAI Codex - For truly agentic work, but not when you need to iterate quickly.
- Cursor - Allow AI to edit any kind of files and use any kind of software stack, but more technically involved.
Lovable
Tools like Lovable allow the user to vibe code a web app and deploy it online without leaving the app.


Cursor
Vibe coding also empowers the most technical people to get a lot more done.
Apps like Cursor allow you to ask an AI agent to edit arbitrary files.
This means you can do data analysis, build mobile apps, or just agentically edit text files.
Codex
We are also beginning to see the rise of "background coding agents". These agents develop software in their own cloud environment without supervision, and let you know when they're done. For example, you can send OpenAI's background agent "Codex" feature requests from the mobile app.

Is This The End Of Software Jobs?
Like being a housewife, the work of a programmer is never done. There are always improvements to be made, bugs to fix, or competition to fight off.
But in the AI era, agents can write this code... as long as they're given the right direction.
In the age of agentic coding, the AI still needs direction from a human on what to do. It needs a manager -- an "AI Operator".
“A computer can never be held accountable, therefore a computer must never make a management decision.” -- IBM training manual circa 1979
You wouldn't want a manager who doesn't understand at least some of what you do. As such, current developers are best suited to manage coding agents -- because they have the understanding of how things should be done, and the language to explain tasks to the AI.
In a Y Combinator survey, developers reported +95% of their code being written by AI. As a developer myself I can attest to this -- programmers don't write code any more, they instruct AI on what to write.
It is clear that the role of a developer is being revolutionized by AI, but unclear where it will end up when the AI can reason about the best next things to develop independently.
When To Vibe Code
Before proceeding to tear down vibe coding, it's worth emphasising where it is useful and where you should pause.
Caution against vibe coding in situations where:
- What you need is mission critical, and you don't have a developer to inspect the internal code.
- There are existing turnkey solutions available for negligible cost: forms, project trackers.
- You want another party to blame/sue in the case of critical failure.
Advocate for vibe coding in situations where:
- The stakes are low, and speed matters more than perfection.
- Some software is better than no software (you have no developers but need software).
- You need something simple and static like a new website, quickly.
- You have abundant developer support to ensure system integrity and resolve bugs.
Limits Of Vibe Coding For Non-Coders
Here’s the trouble with vibe coding:
The AI is very good at making the result look good. To non-coders, how it looks is the only way they can measure and describe what’s wrong. If it looks good, its easy to assume that it works fine.
First hand, we've seen AI systems either not test the functionality, make understandable mistakes, or, even worse, fake it to please you.
Without knowing how the code should look, or how it works, it can be difficult to realise that the behind-the-scenes functionality doesn’t work, let alone how it should be changed.
The Legal Analogy
Non-coders using AI generated code is a bit like using AI generated legal documents — they look right, but you don’t know what you should be looking for.
Which of these is better?
- “Closing is subject to regulatory approval.”.
- “Closing is conditioned upon receipt of all required regulatory approvals.”.
It's difficult to tell if you're not a lawyer.
Blame The User, Not The AI
The AI is not often to blame for the limitations of vibe coding; AI can write better code than the most experienced programmers. The limitations arise from the fault of the user not accurately describing what they need. Although sometimes due to laziness, this is often because they don't have the vocabulary.
As with prompt engineering, the key skill to vibe coding is having the vocabulary to describe what you want.
Some examples of code-related vocabulary:
- "Instead of prop-drilling, make use of a context provider and a hook".
- "Use streaming instead of polling".
- "The issue is that environment variables can't be found client side - this needs to be a server action".
As a non-coder without this kind of vocabulary it can be difficult to describe the changes you need.
Having said that, we're at the very early innings of AI generated software. It's likely that these limitations will be addressed over the next iterations of vibe coding tools, but it's unclear when.
Horror Stories
Tricked To Approve For Production
A contact showed asked his AI to create an app designed to review meeting notes and mark them against a criteria. The AI created an application with navigation, animations, and examples that seemed to work. He assumed it was ready for production. First user: "The response for my meeting is completely unrelated!". Under the hood, the AI had hard-coded responses for its summaries. The AI had tricked him into thinking things would work.
Spaghetti Code
A team came to us with an app they had vibe-coded and were super proud of — it looked great, but one thing wasn’t working... after a user paid for membership their status was never updated.
This was a small but critical issue.
No obvious errors were thrown. No feedback was displayed. What was going wrong?
As a programmer, this is when you would look at the logs — the thread of warning/info/error messages that the code produces. But we’re looking at a chat interface… where are the logs?
Firstly, we tried to debug the system by asking the AI through its chat interface “what errors show up in the logs?”
Problem: One of the non-technical vibe coders claimed the logs were clean, not realising that these were only logs that the AI had explicitly sent to its custom /logs API endpoint.
We couldn’t get to the bottom of the issue by asking the AI, so we decided to push the code to GitHub.
Problem: When they reached a point where they needed to dive into the details for debugging, the non-technical team had no idea what tools they needed to use.
When we opened the code in an integrated development environment (a traditional non-chat interface designed for software development) we realised the extent of the mess that the AI had made:
- The function our codebase was trying to use did not exist.
- The AI had silenced warnings & errors which would have provided useful indication of the problem; At the user’s request to stop the errors, the AI had hidden them.
- There were dozens of versions of the same file.
It was like a throwback to student days when you’d have files like.
main.pdf,.main-new.pdf,.main-with-changes-v2.pdf. This is exactly what the AI had done, and it was unclear which of them was being used. - Several files were 5000+ lines long (very long). Good code separates code concerning different things into small, self-contained files to make them easier to understand and maintain.
At that point, we decided it would be better to rebuild from scratch.
Vibe Coding For Developers
At this point, any developer not using an agentic coding assistant like Cursor must be crazy.
From personal experience, we believe that the productivity gain is on the order of 10x.
Additionally, we believe that vibe coding empowers coders more than non-coders, for the following reasons:
- Coders know what's possible, whereas non-coders often don't realise what is, and so don't know what to ask the AI to do.
- Coders are equipped with the vocabulary needed to describe the improvement or fix needed.
- Coders can recognise what's a good vs bad approach, as well as the limitations of each.
- Coders have already proven themselves willing to sit for weeks on end, typing out the code for applications character by character, just like they have done for years. Non-coders still need to have the grit to sit down and send the following prompt to the AI.
Conclusion
What's real?
- You should expect 10x productivity out of your developers.
- Non-coders can build full-stack websites or apps, but should be aware of where things will get difficult.
What's hype?
- Don't assume you can fire all of your developers just yet. You still need them to manage the AI.