October 15, 2026

Built an App with AI โ€” and Got Stuck?

In short: More and more people arrive with an application they’ve already built using AI or no-code tools โ€” and a problem they can’t get past. Often you don’t need a rebuild. You need someone to work out what you’ve actually got, find what’s wrong, and help you finish it. At FlatCoder, that starts with an audit โ€” not an invoice for a replacement.

You used ChatGPT, Claude, Cursor, Lovable, Bolt or Replit โ€” maybe Bubble or another no-code platform alongside them โ€” and you built something real. Screens, a database, user accounts, workflows, perhaps a working demo.

And now you’re stuck. Something doesn’t work. Changes break other features. Performance is sliding. Or you want to launch commercially, but you’re no longer confident everything does what it’s meant to.

You probably don’t need the whole thing rebuilt from scratch. You need someone who can understand what you’ve built, identify the problems, and help you finish it.

The 80% Problem

AI can be remarkably effective at producing software. What once took days can sometimes be generated in minutes.

The difficulty is that generating code and engineering a complete software system are not the same thing.

An AI assistant can write a login system, create database models, build a dashboard and connect an external API. Individually, each piece might work perfectly well. But do they work correctly together? Does the database design support everything the app needs to do? Are permissions enforced on the server, or just hidden in the interface? What happens when an API fails, two users edit the same record, or someone enters something unexpected?

And most importantly: is the application actually doing what its creator believes it’s doing?

These are ordinary software engineering questions. They existed long before AI and they haven’t gone away. They tend to surface near the end, when an app seems nearly finished but the remaining work becomes disproportionately hard โ€” sometimes because the genuinely difficult parts were left until last, sometimes because weaknesses in the architecture are finally showing, and sometimes it really is just a handful of bugs.

The challenge is knowing which.

What’s Actually Gone Wrong?

When I assess an existing application, these are the problems I look for:

  • Architecture: components added incrementally without considering how they fit, so a change in one area breaks another.
  • Database design: duplicated data, unclear relationships, or a structure that can’t easily support new features.
  • Business logic: calculations, recommendations and workflows that appear to work but were never validated against real requirements or edge cases.
  • Security: authentication exists, but authorisation, data isolation, API permissions or credential handling may not.
  • Testing: the app has been tested by clicking around, rather than systematically checking expected behaviour and failure conditions.
  • Performance: queries, background jobs or API calls that struggle as data and users grow.
  • Maintainability: AI-generated changes piled up without consistent structure, documentation or proper version control.

None of these is unique to AI-generated software โ€” I’ve seen all of them in traditionally built applications. AI simply lets you create a much larger application before those weaknesses become obvious.

This isn’t just my concern, either. The 2025 Stack Overflow Developer Survey found that 46% of developers distrusted the accuracy of AI tools, against 33% who trusted them. And the UK’s National Cyber Security Centre, in its guidance on AI-assisted development and vibe coding, makes a useful point: the right level of oversight depends on what the software does and the risks involved. A prototype that demonstrates an idea is a very different thing from a production system handling customer accounts, payments or sensitive data.

It’s also something I study directly. In controlled experiments, I’ve found that AI coding agents will quietly cut corners to appear successful โ€” special-casing or even tampering with their own tests so an impossible task “passes” โ€” and that a second AI reviewing the work often waves it straight through. (I’ve written these up in AI is a naughty child and AI gangs up on the human.) The practical lesson is the same one that applies to any AI-built app: you can’t take “it works” at face value โ€” it has to be independently verified.

Is the Platform the Problem?

Not always.

Tools like Bubble, Lovable and Replit can be perfectly reasonable choices, depending on what you’re building. But different platforms impose different constraints. A no-code app can become hard to extend once it needs complex algorithms, heavy background processing or deep integration with other systems. An AI-generated codebase might be perfectly portable but increasingly hard to understand or change.

Those are different problems with different solutions. A Bubble app with a complicated calculation engine, for instance, doesn’t necessarily need rebuilding โ€” it might make more sense to keep the existing interface and move the calculations into a conventional Python backend behind an API. Equally, abandoning a platform just because development has got harder can be an expensive mistake.

The technology should fit the requirements, not the other way around.

Audit First. Don’t Automatically Rebuild.

My approach to an unfinished application is straightforward: establish what actually exists before deciding what happens next.

1. Audit. Review the application, its architecture, database, workflows, integrations and available source or platform configuration. The goal is to establish what works, what doesn’t, what’s incomplete, and whether there are underlying issues to address โ€” and, crucially, to separate genuine technical problems from features that simply haven’t been finished yet.

2. Rescue. Where the app is viable, fix what’s blocking progress: correcting business logic, restructuring part of the database, resolving integration problems, improving performance, or extracting functionality into a more suitable backend. The aim is to preserve useful work, not replace it unnecessarily.

3. Completion. With the app understood and the big problems addressed, the remaining development can be planned and estimated far more reliably โ€” outstanding features, appropriate automated tests, a security review, deployment, and getting it ready for real users. Documentation and handover matter too: you should understand how your application works and how to maintain it.

This mirrors the wider engineering discipline I describe on the Software Lifecycle page โ€” the audit-rescue-completion path is simply what that discipline looks like when software has run ahead of it.

Should You Still Use AI?

Yes โ€” where it makes sense. I use AI-assisted development myself; it’s excellent for implementation, investigation, testing and repetitive work. But it still needs direction: clear requirements, sensible architecture, defined interfaces, automated testing and independent verification. If anything, those practices matter more when software can be generated faster than anyone can reasonably inspect it. The answer isn’t to stop using AI โ€” it’s to put better engineering around it.

What Does It Cost to Rescue an AI-Built App?

It depends entirely on what’s been built โ€” which is exactly why I don’t quote a fixed price for an unfamiliar application.

A largely complete app with a few isolated faults can be quick to finish. One with fundamental architectural or data problems may need substantial work, even if it looks impressive on screen. Occasionally, repairing an app costs more than rebuilding it properly โ€” but that should be a finding, not an assumption.

So the sensible first step is a fixed-scope, fixed-fee technical audit, after a short initial conversation. You pay to find out what the problem is โ€” a practical assessment of the app’s condition, your options and the likely work โ€” before committing to any open-ended development.

A few questions I’m often asked:

  • Will you make me rebuild? No โ€” not unless there’s a genuine technical reason. The whole point of the audit is to preserve what’s worth keeping.
  • I used a no-code platform โ€” is that a dealbreaker? Not necessarily. Sometimes the fix is to keep your interface and move the heavy logic into a proper backend, rather than leave the platform at all.
  • What do I actually get from the audit? A clear picture of what works, what doesn’t and what’s unfinished โ€” plus a realistic plan and estimate to complete it.

You’ve Already Built Something. Let’s See What Can Be Saved.

Whether you built your application with AI, a no-code platform, conventional programming or a mix of all three, hitting a technical roadblock doesn’t automatically mean starting again.

FlatCoder has been developing bespoke software since 2010 โ€” web applications, backend systems, databases, APIs, integrations and complex business logic.

If you’ve built something and need help understanding, correcting or completing it, I’m happy to take a look.

Tell me what you’ve built, what works, and where you’re stuck.

The next step is a technical audit โ€” an honest assessment of what you’ve got before you commit to anything. See how it works on the AI Software Audits & Rescue page, or get in touch for an initial discussion โ€” no obligation.