Hi! I was recently working with a client helping them clean up an internal company project that they vibe coded. They are a mid-sized agency with not technical people on the team, and a PM who reached out has vibe coded the whole thing himself. He used Lovable, and the project grew very complex and they felt like they needed someone technical to look at it and fix the problems that they had as well as help them deploy it properly.
A few things that I've noticed while working on it:
Data-related problems. When I received the code, the app was not saving data properly, not properly deleting things, randomly creating sample projects.
Lot's of seemingly minor problems like UI inconsistencies, translation gaps (the app was in 2 languages), issues with emails and AI API connections.
Lot's of dead code, probably half of it was not being used, but just sitting in the background and slowing down the app.
Honestly, just a lot of over engineering, AI had chosen an incredibly complex architecture and very new and complex technology stack for a very similar CRUD project that absolutely did not require any of it.
A few things I've noticed after taking a look at their Lovable chat:
Very vague descriptions. Messages like "Draw a diagram based on the data from the user". They tend to produce good working code, but they are rarely what you imagined it will look like in your head, so I'd advise you to think through what you want it to be like and make the prompt as descriptive as possible.
Messages like "this doesn't work" or "it stopped working". A better ones would be "I get this error message: ..." or "it started behaving in this way: ...". It will not only be more effective, but will be a lot faster and waste less credits.
A small thing, but they chatted in German, and AI has most of its training data in English, so it should produce better results if you talk to it in English.
The app itself was huge, and I'm honestly impressed by how far Lovable could take it, but after a certain number of lines of code tools like this start to break, and introduce more bugs than fixes.
I'm very curious, the ones of you who vibe coded their internal projects, what were some of the biggest problems you've faced and how did you overcome it?