Vibe Code Remediation
Vibes stopped vibing?
So, you had an idea. You found someone to build it. Perhaps an agency, a freelancer, an offshore development team, your cousin or someone armed with some trendy AI coding tool and a suspicious amount of confidence. Regardless, the end result isn't what you envisioned and you've found yourself here. Perhaps you haven't yet taken the leap and are still considering Vibe Coding for your software development project and want to understand the risks. Or maybe you're weighing up a prospective development partner but have a feeling they might not be giving you the full story on how they intend to develop your software. Whatever the case, let us provide you with some food for thought.
First things first, AI most definitely does have a part to play in the modern software development landscape. We use it ourselves and in the hands of experienced developers it can help to speed up development, make suggestions, generate tests and produce documentation. The important bit here is the 'experienced developers' part.
AI can generate code extremely quickly but generating code and engineering a robust and reliable software system are two VERY different things. Just because it can generate code does not mean it understands architecture, security, databases, performance, integrations, testing or the context of your business and why you need the software in the first place. The human aspects that push you towards software are alien to AI - ii doesn't understand why your current processes are making your team pull their hair out, why customers behave the way they do or why something that sounds perfectly logical on paper will simply not work in reality.
That is why experienced developers are needed. They ask questions, challenge assumptions, identify flawed logic, understand the knock-on effect of one seemingly innocuous decision on the rest of your software and most importantly, close the gap between your technical software requirements and the very human impact it is going to have.
Vibe coding is a relatively new 'approach' to software development where someone uses AI to generate code by describing what they want in plain English rather than writing and understanding the code themselves. There's no meticulous planning, writing, testing or deployment of the code, it's usually a simple case of typing 'build me a customer portal where customers log in, view orders, track orders and download invoices. Oh, and make it look pretty' and voila, there you have it. AI has generated something for you to try. And so you do. And something breaks. You ask AI to fix it. It does and something else breaks. Rinse and repeat until you end up with something that almost appears to work.
For prototypes and experimentation, this is fantastic. If you're a business owner or senior stakeholder with no coding knowledge you can turn your ideas into something tangible, you can test whether something will work and you can get an understanding of what is possible. However, the problems start when a decision is made to push it into production.
Without having someone who understands what has actually been generated and what that subsequently means for the architecture, functionality, security, performance and maintainability of the software you are probably about to find yourself in a whole world of hurt. Furthermore, each subsequent AI fix can add yet another layer of complexity to a solution that no one understood in the first place. You can see how that might be problematic.
Vibe coded software is attractive because it's accessible. No experience required, cheap and with instant results, it's completely understandable why so many businesses want to believe it's the answer to their problems. But as the old saying goes, if it sounds too good to be true - it probably is.
| Potential risk | What can happen | Potential cost |
|---|---|---|
| Security vulnerabilities | Poor authentication, exposed data, insecure APIs or other vulnerabilities make it into production. | Security audits, emergency development work, remediation, downtime, legal costs and potentially regulatory consequences. |
| Poor architecture | The software works initially but hasn't been designed to consider future growth and/or development. | Significant refactoring or, in the worst cases a partial or complete rebuild. |
| Bugs and reliability issues | Features work in the 'happy path' but fail when faced with real users, unexpected data or unusual scenarios. | Ongoing bug fixing, support costs, lost productivity, lengthy deep dives and potentially unhappy customers. |
| Technical debt | Quick fixes and AI generated patches accumulate until changing one thing starts breaking something else. | Development becomes progressively slower and more expensive as developers have to work around or untangle existing code. |
| Poor scalability | The application performs fine with a handful of users but struggles as usage and data increase. | Emergency optimisation, infrastructure changes, architectural work and potentially downtime while problems are resolved. |
| Data protection problems | Personal or sensitive information isn't collected, stored, accessed or deleted appropriately. | Remediation work, specialist advice, breach management and potentially regulatory action or reputational damage. |
| Lack of testing | Nobody has properly tested integrations, edge cases, security, different devices or what happens when something fails. | Bugs appear in production, requiring reactive development and potentially interrupting business operations. |
| Performance problems | Inefficient code, database queries or API calls make the application increasingly slow. | Performance investigations, code optimisation, database work and potentially unnecessarily high hosting costs. |
| Integration failures | Connections with payment systems, CRMs, accounting platforms or other services haven't been engineered properly. | Failed transactions, missing or duplicated data, manual correction and development work to rebuild integrations. |
| Dependency problems | AI introduces unnecessary, outdated or poorly supported third party packages and libraries. | Security remediation, upgrades, replacement development and additional ongoing maintenance. |
| Nobody understands the code | The person who created the software relied on AI without understanding what was actually being generated. | An experienced developer has to spend time investigating and documenting the system before they can even start fixing it. |
| Difficult future development | Adding seemingly simple functionality becomes increasingly risky because the underlying system wasn't designed to accommodate change. | Features that should take days can take weeks, increasing development costs and slowing down the business. |
| Complete rebuild | The existing application is so insecure, poorly structured or difficult to maintain that rescuing it no longer makes commercial sense. | You effectively pay twice - once for the original software and again to have it rebuilt properly. |
Not every business or individual will tell you they intend to vibe code your software. In fact you could quite easily believe you're paying for traditional, custom software development yet a significant chunk of your system is being developed by AI at the behest of an individual or company who have no understanding of the code they are producing.
If you suspect an individual or company intends to Vibe Code your software development project and they are not being fully transparent about it, here are a few signs to look out for:
They are suspiciously cheap - Bespoke software development requires experienced people with specific skillsets. These people cost money. A quote that is dramatically below other bespoke development agencies doesn't automatically confirm vibe coding but it's worth asking how they're able to deliver the same project for a fraction of the price. Here is a very rough guide detailing what you can expect to pay for different kinds of bespoke software systems (that are designed and developed from scratch).
Their timelines are out of whack - Similarly, if the timelines are a lot shorter than other bespoke development agencies, get to the bottom of how. Bespoke software is designed and developed from scratch and involves multiple stages including requirements gathering, design, development, testing, feedback, deployment and continuous improvement. If you're promised a fully bespoke CRM system with multiple features, integrations and user profiles - this is a red flag.
A very short discovery phase - The discovery phase of a software development project is one of the most important. This is where the development team get to understand what you want, why you want it, what you currently have and how this fits in with the wider context of your business environment. If you've spent very little time sharing the details behind the request then you should probably be a bit concerned.
They can't explain 'their' technical decisions - Ask them why they've decided to use a particular language, database or framework. This should always be a decision that is made based on logic and backed up with evidence. If they look at you with a blank stare, give you a generic answer or start mincing their words - chances are, they have no idea why that particular language/database/framework is being used - it's just because AI said so.
They won't give you access to the source code - This is a huge red flag. One of the key reasons people choose bespoke software is because they will ultimately own it and can do with it, as they wish. If you aren't told - freely or when you ask - where your code is stored, who controls the repository and how you can access it, this might suggest they don't want you to see it and they certainly don't want another development team to see it.
If in doubt, ensure you speak to multiple different bespoke software development providers. Compare their quotes and timelines, ask lots of questions even if you don't necessarily know the answers and don't be afraid to insist on explanations or ask for elaboration.
If you're already past the "should we give vibe coding a go?" stage and have the software sitting in front of you, you might now be wondering what on earth you're supposed to do with it.
Perhaps it's not quite finished and you're looking for an experienced development team to pick up where the vibe coders left off. Maybe it is finished, but the bugs have started appearing and neither AI nor the people who built it seem to know how to fix them. Or perhaps it's working fine right now but you've started wondering what's really going on underneath the surface.
Whichever camp you're in, you're probably hoping an experienced development team can take it over, tidy things up and carry on where the previous developer - human or otherwise - left off.
The good news is, in some cases, experienced developers can indeed rescue your vibe coded software. The bad news is, sometimes they can't.
Providing the foundations are well architected, the code is of reasonable quality and the software has been built with some consideration for what it's actually supposed to do, there's a good chance we can build on what's already there. That might mean refining existing functionality, improving the code, addressing security issues, adding proper testing or developing new features. There's no point throwing away perfectly good work just because AI helped create it. We'll assess what you've got, tell you honestly what's worth keeping and help you take it from promising prototype to reliable, production ready software.
Sometimes, the code simply isn't worth saving. If the underlying architecture is poor, the code is difficult to understand or changes risk breaking seemingly unrelated parts of the software, fixing it can become more expensive than starting again. We also can't guarantee we've uncovered every issue in a codebase we didn't build, and we're not prepared to put our name against software we can't confidently stand behind. Building new functionality on top of shaky foundations only adds to the problem. In these situations, a rebuild may be the more sensible and cost-effective option in the long run, rather than paying to patch software that ultimately needs replacing anyway.
Where we go next depends on how far you've already gone. If you haven't yet started your project and now know for sure you don't want it to be vibe coded, we'd encourage you to come and have a chat with us. We can discuss your requirements, have a chat about the options available to you and take it from there.
If you have a half finished, vibe coded software system and you're looking for someone to finish it off, let us take a look and give you it thorough technical assessment. We'll outline any risks or issues with the existing codebase and remediate them if necessary before getting your project finished.
The same applies if your software is finished and things are now starting to go wrong. If you're battling bugs, struggling to add new functionality, worrying about how secure your software is or feeling nervous about your customers using the software, we can absolutely help you find the best way forward.
Regardless of how far along you are, we probably won't be starting from scratch which is a good thing. We can keep what works, drop what doesn't and get your software ready for the real world. You might have to say goodbye to some the code. But you don't have to say goodbye to the idea!
AI & Vibe Coded Software - The rundown
Q) Can you finish a vibe coded project that another developer has abandoned?
A) We can assess an unfinished project, identify what's working and what needs attention, and advise on the best way forward. Depending on the condition of the code, we may be able to finish the existing build, resolve underlying issues or in some cases, recommend a rebuild.
Q) How much does vibe code remediation cost?
A) The cost completely depends on the quality and complexity of the existing software, the issues identified and what needs to be done. An assessment helps establish whether the code can be improved, needs significant remedial work or would be better rebuilt.
Q) What happens if my vibe coded software needs new features in the future?
A) That depends on how well the software has been structured. A well built system should be capable of evolving as your business changes. If the underlying code is hard to understand or modify, even straightforward additions might be costly, time consuming or altogether impossible.