A stalled project is recoverable if you still control the pieces. AI has made rebuilding faster and cheaper, which moves the real risk to migration and launch.
Product development
Written by
Adam Lyth
Date
Read time
11 minutes

Photo by Elisa Ventur on Unsplash
If your agency isn’t delivering, don’t fire them first. Secure your code, accounts, domains and data. Then get an independent audit of what’s actually been built. Only then decide whether to fix it, replace it piece by piece or rebuild.
That last decision has changed. With experienced engineers driving AI tools, a rebuild is far faster and cheaper than it was. That moves the hard part. Writing the new code is no longer the slow bit. Getting your users, data and app store listing across to it is.
Once you’re defending your tech to the people who fund you, you’ve waited too long.
“If you have to make excuses for your tech on their behalf, to your board, your stakeholders, it’s already too late.”
A stalled project is a pattern, not a bad week. These are the signs we take seriously.
One sign on its own is a conversation. Three or more is a plan.
Projects also stall because the founder keeps changing direction, or takes weeks to answer questions. If scope has moved five times, a new team inherits that.
For anything held in the agency’s name, ask for a transfer before you give notice. Don’t depend on goodwill at the moment it’s thinnest.
| What to secure | Why it matters | What “secured” looks like |
|---|---|---|
| Code repositories (GitHub, GitLab) | Without the code, you own a screenshot, not a product | You own the account, not a guest login |
| Cloud hosting (AWS, Google Cloud, Azure, Vercel) | It’s where your app actually runs | Billing and admin access are in your name |
| Domain names and DNS | DNS decides where your web address points | The registrar account is yours |
| App Store and Google Play accounts | Your listing, ratings and reviews live here | Your company holds the account |
| Databases and backups | Your users’ data is your legal responsibility | You can download a recent backup yourself |
| Third-party services (Stripe, email, analytics, maps) | Your app depends on their keys | Accounts in your name, on your card |
Then check the contract. In UK law, the author of a work is usually its first owner. If the author is an employee, their employer is (Copyright, Designs and Patents Act 1988, s11). So by default, the agency or its freelancers own the code. Legal ownership passes to you only by a written, signed assignment (s90(3)).
Look for an IP assignment clause, and check whether it only applies once you’ve paid in full. We cover this properly in who owns your code. This is general information, not legal advice.
As soon as the handover lands, remove the old team’s access. Rotate every password and API key they could see, with whoever runs production, so nothing breaks.
Calmly, and in writing. Ask for a handover rather than announcing a dispute. It should cover:
Pay what you owe. A fair settlement buys co-operation, which is worth more than the last invoice.
No. That money is gone whichever way you choose. The only question is what the next pound buys.
This trap is the sunk cost fallacy. The fear behind it is usually the investor conversation, because nobody wants to announce they’re starting again.
A takeover audit is an independent review of what you’ve actually got. It answers one question. Can this codebase carry your product forward, and at what cost?
Good practice covers eight things:
Ask for a written report in plain English, with a clear recommendation. You should be able to forward it to an investor.
Refactoring means improving existing code without changing what it does. Rebuilding means starting again, keeping the designs and everything you’ve learned. For years, the advice was to avoid rebuilds.
“Every single rebuild is always massively underestimated. Doesn’t matter who you speak to. Doesn’t matter who does it.”
That was true when every line was typed by hand. Experienced engineers using AI tools can write, test and document a new codebase far faster than before. A tangled codebase can now often be replaced faster than it can be untangled.
The word that matters is experienced. AI speeds up people who already know what good looks like. That’s how we use it: senior engineers review and own everything that ships.
Asking an AI tool to “clean up” a messy codebase is fast. It’s also how projects get worse.
None of this means avoiding AI. It means writing down the business rules first and testing the old behaviour. Review every change, and keep AI tools away from live data.
There’s a third option besides refactoring and rebuilding. You replace the system one piece at a time while it keeps running. Engineers call that last one the strangler pattern, after a fig that slowly grows around a tree.
A rebuild still doesn’t fix whatever caused the mess. As we tell founders, “Quite often the issue isn’t the code. Quite often the issue is the fact that their culture is [broken].”
| Audit finding | Lean towards refactor | Lean towards rebuild |
|---|---|---|
| Framework | Current, widely used and still supported | Obscure, abandoned or several major versions behind |
| Tests | Good coverage, and they pass | Few or none, so you can’t change it safely anyway |
| What works | Most core journeys work end to end | Core journeys are broken or half-built |
| Access | You have the code and can run it | The code sits on a platform you can’t take with you |
| Direction | You’re still building the same product | You’ve learned enough to want something different |
If most of your answers sit in one column, that’s your answer. With AI-assisted engineering, a split result now leans towards rebuild more often than it used to. The exception is a busy live app with tangled data. There, replacing it piece by piece can still be safer.
Pristine Condition’s app checks that warehouse staff lift safely. Before the rebuild, its software had under ten percent adoption. We rebuilt it to work offline. Its AI lifting check now runs in real time on an ordinary phone camera.
Usage has since grown by around 9,000%. Around 150,000 warehouse staff now use it. With adoption that low, the product itself had to change, not just the code.
A fast rebuild can still fail at the finish line. The other half of the job is moving real users, data and an app store listing across without losing them. Plan it from week one.
Your users’ data is the one thing you can’t rebuild. Map every table in the old system to its home in the new one. Write the migration as a script you can rerun, not a manual export. Rehearse it on a copy of production data until the numbers match.
There are two ways to switch. Parallel running keeps both systems live and moves users across in stages. A cutover switches everyone at once, usually in a planned quiet window.
| Parallel running | Clean cutover | |
|---|---|---|
| Best for | Complex products with many types of user | Simpler products, or ones with few live users |
| Main risk | Two systems and two sets of data drifting apart | Everything rides on one moment |
| Duration | Days or weeks of overlap | Hours, if rehearsed |
Parallel running sounds safer, but every day of overlap lets data drift and splits the team’s attention. Keep it short, with a fixed end date.
If you have a mobile app, don’t launch the rebuild as a new app. Ship it as an update to the existing listing, so you keep your downloads, ratings and reviews.
On Google Play, an update must use the same package name and signing key as the current version. So secure the signing key in the handover, not just the code. On the App Store, you release the rebuild as a new version of the same app. Apple lets you choose whether to reset the overview rating, and written reviews stay either way.
If the listing sits in the agency’s developer account, transfer it first. Apple says a transferred app keeps its reviews and ratings, and users keep getting updates. Apps with Sign in with Apple or subscriptions need extra preparation, so start early.
Users forgive change they were warned about. Tell them what’s changing, when, and what they need to do. Brief support before launch day.
Decide before launch what would trigger a switch back, and who decides. Keep the old system and a full backup ready until the new one has proved itself. Rehearse it once, so it’s a procedure rather than a panic.
“The faster that can happen, the more successful the migration.”
A long migration is where rebuilds lose momentum. Every week of overlap means two systems to patch and two sets of data to reconcile. Users get caught in between, and features get built twice or not at all.
A short window forces the hard work up front: rehearsal, rollback plan, user messages. Then you move decisively, watch closely and fix fast.
When the build no longer takes a year, the old system needn’t limp on for one. A switch measured in days or weeks beats months of limbo.
It depends on what the audit finds. Anyone quoting before seeing the code is guessing. Here’s what a fresh start costs with us.
Our LaunchPad is fixed price, excluding VAT: £25k for 2 months, £60k for 3 months or £100k for 4 months. Discovery sets the scope within the tier you pick. You get your money back if the plan isn’t right after Discovery. The price covers everything up to launch, including developer accounts, hosting, licences and the third-party services the build needs. You own the code and IP. The full detail is on our pricing page.
LaunchPad is about launching a successful product, not building an MVP. After launch, TotalCare runs the product for a fixed monthly price, covering hosting, app store accounts, third-party services and support.
If the audit says refactor, the work may be much smaller than a LaunchPad. The first chat is free, and so is an architectural review.
Switching isn’t always the fix. Don’t hire us, or anyone, if:
Take the order, if nothing else:
If you’re partway through this and want a second opinion, talk to us. We’ll tell you what we’d do, even if it’s to stay put.
The work behind this
Revolutionising and safeguarding manual handling workforces through movement tracking
See our workBefore you give notice, make sure your company owns every account the product depends on. That means the code repository, hosting, domain, app store accounts, signing keys, databases and services like Stripe. Once those are in your name, ask for a written handover and get an independent audit. Decisions about the old agency are much easier once you can’t be locked out.
Not because of what you’ve spent. That money is gone whichever way you choose, so it shouldn’t decide anything. Ask what the next pound buys with the current team, compared with the alternatives. If an audit shows the code is sound and the team can ship, staying may be right. If not, more money won’t change the pattern.
More often than you used to. With experienced engineers driving AI tools, rebuilding is much faster and cheaper than it was. Rebuild when the foundations are broken, the code is out of reach or the product needs to change. For a busy live app with tangled data, replacing it piece by piece can still be safer. Either way, a rebuild won’t fix a broken way of working.
It can be, when experienced engineers drive it and review every change. Careless AI refactoring loses undocumented business rules, introduces regressions, ships code nobody has read and can damage live data. Write down the business rules first, test the current behaviour, review everything and keep AI tools away from production data.
Not if you ship the rebuild as an update to the existing listing. On Google Play, that means the same package name and signing key. On the App Store, you choose whether to reset the overview rating, and written reviews stay either way. If the listing is in the agency’s account, transfer it first. Apple says transferred apps keep their ratings and reviews.
As short as you can make it safely. A long overlap means two systems to patch, data drifting apart and users caught in between. Rehearse the data migration, agree a rollback plan and tell users before the switch. Then move decisively, in days or weeks rather than months.
Yes, as long as you can hand over the source code and the accounts it runs on. The new team should start with an audit. That means running the app from scratch, listing the business rules buried in the code, and reviewing tests, data and security. Only then can anyone tell you honestly whether to continue, replace parts or start again.
Not automatically. Under UK copyright law, the agency, or its freelancers, owns the code by default. Legal ownership passes to you only through a written, signed assignment. Check your contract for an IP assignment clause, and whether it depends on paying every invoice. If it’s missing or unclear, get advice from a solicitor before you end the relationship. This is general information, not legal advice.
LaunchPad is fixed price, excluding VAT: £25k for 2 months, £60k for 3 months or £100k for 4 months. Discovery sets the scope within the tier you pick, and you get your money back if the plan isn’t right after it. The price covers everything up to launch. If an audit shows a smaller fix will do, you may not need LaunchPad at all.
We design, build and launch digital products at a fixed price, with a money-back guarantee after Discovery. Tell us what you have in mind.
Our newsletter
Occasional emails about what we’re building and what we’ve learned the hard way
You may unsubscribe from these communications at any time. For information please review our privacy policy.