Topics: Custom software & SaaS, Mobile apps
Want this done for your business? Get a fixed quote or book a free 30-minute call.
In this guide
- What are the signs your app needs more than an update?
- Which store deadlines force you to act?
- Is your app's framework still supported?
- Update, migrate gradually or rebuild: what are the trade-offs?
- How do you keep users, data and store ratings through a rebuild?
- How do you scope a rebuild without repeating old mistakes?
- Frequently asked questions
- Not sure whether to patch or rebuild?
Quick answer: Keep updating the app you have if it builds cleanly, meets current store requirements and a change in one screen doesn't break another. Plan a staged migration or a rebuild when the framework is out of support (Xamarin, PhoneGap, a React Native version far behind), when meeting the store deadlines needs major surgery, or when maintenance hours keep climbing while releases slow down.
Few app owners choose to rebuild. The decision usually lands as a rejected upload, a Play Console warning or a developer saying the project no longer compiles, and by then the deadline belongs to someone else. This guide helps you spot the signs a year earlier, while the cheapest path is still open. It's about mobile apps specifically; for an ageing back-office or web system, our guide to legacy modernisation options is the better fit.
What are the signs your app needs more than an update?
One symptom rarely justifies a rewrite; three or four together usually do.
| Warning sign | What it looks like | What it usually points to |
|---|---|---|
| Crashes after each major OS release | Crash reports spike whenever iOS or Android ships | Deprecated system APIs throughout the code |
| Fixes break unrelated features | A login change breaks checkout | Tangled code with no automated tests |
| Nobody can build the project | Missing signing keys, old Xcode or Gradle, vanished libraries | A build environment that has quietly rotted |
| Maintenance hours keep rising | The retainer goes on keeping the app alive, not improving it | Compounding technical debt |
| Key plugins are abandoned | The maps or payments library hasn't released in years | Forced replacements you can't schedule |
Put a number on the fourth row: over recent quarters, how many hours went on keeping the app running versus shipping what users asked for? Our guide to app maintenance budgets treats roughly 15–25% of the build cost a year as normal upkeep. Paying well beyond that just to stand still is a signal.
Which store deadlines force you to act?
Both stores set minimum build requirements, and falling behind blocks every update, including urgent bug fixes.
- Google Play. Per Google's Play Console help pages, from 31 August 2026 new apps and updates must target Android 16 (API level 36), and existing apps must target at least Android 15 (API level 35) to stay available to new users on newer devices. Google raises the bar every year, usually in late August.
- Apple. Per Apple's developer news on upcoming requirements, uploads to App Store Connect since 28 April 2026 must be built with Xcode 26 or later using the iOS 26 SDK. Your app can still support older iPhones; it's the build tools that must be current.
Each new Android target level changes how the system treats your app, from permissions to background work to how screens draw around system bars. A healthy codebase absorbs that in days. An app several levels behind, on libraries that never updated, can need weeks of work that users never see. Put both deadlines in your calendar and read the policy emails rather than filtering them.
Is your app's framework still supported?
Check the framework before debating features: on an unsupported one, every future update becomes a workaround.
| Framework | Status | What it means for you |
|---|---|---|
| Xamarin | Microsoft ended support on 1 May 2024; .NET MAUI succeeds it | No fixes for new OS versions; migrate or rebuild |
| PhoneGap and PhoneGap Build | Discontinued by Adobe in 2020 | Move to Cordova or Capacitor, or rebuild |
| Apache Cordova | Maintained, but many community plugins aren't | Audit every plugin; Capacitor is a common next step |
| React Native, many versions behind | Big jumps are hard, especially across the New Architecture, default since 0.76 | Upgrade in steps if the code is sound |
| Native Swift, Kotlin or Java | Supported | Usually an update, unless the libraries are dead |
Old doesn't automatically mean bad. A tidy native app from years ago can be cheaper to update than a messy one from last year. What matters is whether the ecosystem around your code still moves.
Update, migrate gradually or rebuild: what are the trade-offs?
Update when the foundations are sound, migrate in stages when the app is large and busy, and rebuild when the app is small and the code is poor.
| Update in place | Gradual migration | Clean rebuild | |
|---|---|---|---|
| What it means | Upgrade SDKs, replace dead libraries | New screens built in the new stack inside the existing app | A new codebase shipped to the same listing |
| Best for | Supported framework, reasonable code | Large apps with many users | Small apps, dead frameworks, untrusted code |
| Main risk | Hidden rot surfacing mid-upgrade | Two stacks side by side for a while | Chasing parity with undocumented features |
Gradual migration works because Flutter's add-to-app approach and React Native's support for existing apps both let new screens live inside a native shell, spreading cost over months while releases continue.
Budget a clean rebuild like a new app, plus data migration. A simple-to-mid cross-platform app typically costs ₹4–15 lakh in India, AUD 40k–150k in Australia or US$25k–90k elsewhere. Our comparison of Flutter vs React Native helps you choose the stack.
How do you keep users, data and store ratings through a rebuild?
Ship the rebuild as an update to the existing listing, never as a new app. A new listing starts with no reviews, installs or search history.
- Keep the identifiers. Same Android package name, same iOS bundle ID, same developer accounts. Those accounts belong in your company's name, as our guide to Apple and Google developer accounts explains.
- Keep the signing key. Google Play accepts updates only when signed with the app's existing key. With Play App Signing, Google holds it and a lost upload key can be reset; without it, a lost keystore means you can't update that listing.
- Raise the version number above anything already published.
- Migrate on-device data. Login tokens, settings and offline drafts must carry across, or users are logged out and lose work.
- Keep the backend compatible with old app versions until you can safely force an upgrade.
- Beta test first through TestFlight and Google Play's testing tracks; see our guide to app beta testing.
- Roll out in stages with Google Play's staged rollout and Apple's phased release, so a bad build reaches few users.
How do you scope a rebuild without repeating old mistakes?
Scope from usage data, not from the old app's menu. The old app records every idea anyone had, not what users need.
- Cut what nobody uses. Rank features by usage over the last six to twelve months; rarely touched ones go on a "later" list.
- Fix the cause of decay. One undocumented developer, no tests or accounts in a former agency's name will rot the new code too.
- Test the money flows. Automated tests on sign-up, login and payment, run on every build.
- Make builds reproducible with documented setup and an automated pipeline.
We handle app rebuilds and modernisation this way: discovery, a feature list trimmed by real usage, then a fixed price.
Frequently asked questions
How do I know if my app needs to be rebuilt?
Look for several warning signs together: crashes after each OS release, fixes that break unrelated features, a project nobody can build, rising maintenance hours and an unsupported framework. One sign alone usually calls for targeted repair; three or more usually justify migration or a rebuild.
Will I lose my app's reviews if I rebuild it?
Not if the rebuild ships as an update to the existing listing. Keep the package name and bundle ID, sign with the same key on Google Play and publish from the same developer accounts, and ratings, reviews and install history stay.
Can an old Cordova or Xamarin app still be updated?
Sometimes, for a while. A Cordova app can often be updated if its plugins still work with current SDKs, or moved to Capacitor. Xamarin has been out of support since May 2024, so each store deadline gets harder and migration is the realistic path.
Should we rebuild in Flutter or React Native?
Both suit most business apps. React Native fits teams already working in React who want to share skills with a web app; Flutter fits apps that need consistent custom design across platforms. Choose what your long-term maintainers know best.
How long does an app rebuild take?
Plan it like a new first version: typically 10–20 weeks for a focused app and 4–9 months for a mid-size app with payments, admin tools and several user roles. Data migration and a beta period add time.
Not sure whether to patch or rebuild?
Send us your store links, framework version and a few months of crash reports. After a free call we'll recommend update, staged migration or rebuild, with a fixed price for the path that fits, normally within one business day. Book a call to start.