Moving off Bubble or FlutterFlow without losing users
A practical Bubble or FlutterFlow migration plan covering accounts, data, subscriptions, app stores and a staged move to React Native for active users.

Fondateur d'Inyka
Published on September 15, 2026
9 min
Short answer
To move from Bubble or FlutterFlow to React Native while people still use your product, audit accounts, data, payments and app store access first. Build the new app alongside the existing one, rehearse the data import, then release it in stages with a workable rollback plan. The brief places a migration with active subscriptions in the €25,000 to €70,000 excluding VAT range and a timeline measured in months. The final price depends on the quality of exports, integrations and how the current app was published. Inyka does not offer a fixed migration quote before an audit.
What actually moves
"Leaving no-code" sounds like replacing a set of screens. The project also moves identities, history, business rules, files and access rights. Someone who sees a polished new interface but loses their paid access will regard the move as a failure.
Bubble and FlutterFlow are different starting points. Bubble says you can export data, while the application's logic must be rebuilt. FlutterFlow offers a Flutter code export. Moving from FlutterFlow to React Native still means rebuilding the mobile client, although the exported code can help document existing flows. Treating both products as if they had the same code export would lead to a poor estimate.
Before discussing a quote, ask for a demonstration of every active journey and a list of integrations. Which screens still get used? Which automation sends an email, charges a customer or changes an order status? That inventory prevents you from rebuilding a feature nobody opens while overlooking a small action that matters. Our no-code versus React Native guide covers the earlier decision of when to make the move.
Audit access before designing the new app
The first useful deliverable is an inventory, not a mock-up. It should list data tables and relationships, user accounts, media, automations, third-party services and ownership of the developer accounts. For each item, record who can export it, change it and restore the old behavior.
Take an ordinary account: one person has three bookings, a profile photo and a Stripe subscription. An export containing their email but no reliable key linking the bookings to the payment does not rebuild their account. The migration needs a stable mapping and a check of those relationships after import.
The audit must also identify the payment channel: direct Stripe billing, Apple or Google in-app purchases, RevenueCat, or a mixture. That answer changes the work and the cost. Finally, check who owns the source and technical accounts. A schedule based on store or database access you do not hold is fiction.
Build alongside the existing product
Inyka's route is a React Native and Expo mobile client with a backend suited to the product, often Supabase. The new app starts with test data, then a controlled copy of real data. The current version continues serving users while the replacement is being built. Their day-to-day work should not depend on an unfinished release.
The initial scope should not copy the existing product automatically. You may remove a little-used feature after checking what it does. Low traffic does not equal low value: an account recovery screen can be quiet for months and essential on the day someone needs it. Sign-in, the core task, payment and support deserve priority.
Use a screen-by-screen checklist, but test complete actions. A user should sign in, find their information, finish a task and see the correct status. Our mobile app scoping method shows how to write those acceptance checks before the first build.
Rehearse the data migration
A sound move starts with a trial export. Transform identifiers, import into a test database and compare accounts, relationships and files. Record errors by type: missing email, invalid date, broken reference or inaccessible image. Hand-fixing a few profiles in a rehearsal does not solve the same problem across the full user base.
The cutover may need a short freeze or a way to replay recent changes. It depends on how fast the data changes. If users place orders throughout the day, an export taken yesterday creates a gap. The team must account for everything that changes between the final test import and the new release.
Write down the rollback path as well. If accounts fail to load or purchases appear twice, who stops the release, and which system becomes authoritative again? A usable fallback is worth more than a promise of "zero data loss". Check real journeys with a small group of consenting users before the general release.
Subscriptions need entitlement checks
With Stripe, copying a customer ID is only one step. The right app account must point to the right subscription. Check active, paused and failed-payment states, billing events and cancellation behavior. Billing may continue while the app changes, so access rights must remain consistent across both systems.
For in-app purchases, the app's store identity matters. Shipping an update on the existing listing and creating a separate listing are different operations. Apple documents app transfers and the additional steps for auto-renewable subscriptions. Google documents how subscriptions move with an app transfer. A separate new app needs its own entitlement plan, testing and sometimes an action from the user.
The rule is straightforward: do not move paying users until a complete purchase and access test passes for every payment channel in use. If the old provider controls the developer account, the audit should surface that fact before anyone offers a fixed price.
Choose a release you can monitor
There are two main paths. An update to the existing app can retain its store listing if account access and identifiers allow it. A separate app asks users to install something new and adds friction. Either way, the backend and payments have to stay consistent through the transition.
Start with an internal cohort, then volunteers, then the wider base. Monitor successful sign-ins, missing records, purchases, support requests and uninstall patterns. A universal threshold such as "60% migrated" cannot decide when to shut down the old product. Look at who has not moved, particularly active subscribers.
Communication should answer one practical question: "What do I have to do?" A message before release gives the date and visible changes. On launch day, provide the store link, sign-in steps and support contact. Send later reminders only to accounts that have not completed the move. Do not promise that nothing will change when people must sign in again or install a new app.
What the budget includes
The brief puts a simple migration at about €25,000 excluding VAT, with recurring payments and integrations taking a project toward €50,000 to €70,000. These are planning ranges from the brief, not an Inyka quote issued without inspecting the product. Inyka's Scale package starts at €24,000 excluding VAT for complex apps; an active migration brings uncertainties that a new product does not have.
| Workstream | What to check |
|---|---|
| Audit | Exports, access, user journeys, dependencies and store release plan |
| New app | Retained features, backend, testing and builds |
| Data | Trial import, corrections, files and post-release checks |
| Subscriptions | Account matching, entitlements and billing events |
| Transition | Cohorts, support, monitoring and rollback |
A quote that lists only screens misses much of the job. Compare it with our mobile app cost guide, then ask for each migration risk to appear in the scope.
Five mistakes that break an otherwise careful migration
Exporting once, too early. The database keeps changing while the replacement is built. A correct Monday export does not contain Tuesday's orders. Set a reference time and plan either a short freeze or an import of changes made since then.
Treating an email address as a user identity. Two people may share a family address; one person may have changed email since buying a subscription. Match accounts with stable identifiers and record exceptions for manual review.
Checking records but not entitlements. Imported rows look complete, yet the app denies a subscriber access or exposes a file to the wrong account. For each test profile, inspect visible data, permitted actions and billing events.
Closing old support on launch day. People with a problem contact the channel they already know. Keep an address and an owner who understand both versions until the transition has ended.
Promising a release date before store approval. A build can be ready without being available. Prepare messages around a release window, then send a final store link only after checking both iOS and Android listings.
What Inyka declines on a no-code exit
- A fixed takeover quote before data, accounts, payments and publication rights have been inventoried. The audit must reduce the unknowns that alter the price.
- A promise of "zero user loss." We can organize checks and support; we cannot decide whether each person continues using the product.
- Subscription cutover based only on a list of emails. Entitlements and renewal events must be checked against the service that bills each user.
- New features during a release whose core journey is still unstable. The migration already changes the user's routine; the feature roadmap can resume after continuity is proven.
Release readiness checklist
The person approving launch should be able to answer yes, with evidence, to each item:
- The product owner controls the repository, database and required developer accounts.
- A recent export of tables and files can be inspected and restored.
- Test accounts cover active subscribers, failed payments and free users.
- Each imported identifier points to the right history and media.
- Sign-in, account recovery and account deletion work.
- A purchase, renewal and cancellation produce the expected access right.
- Old and new versions use an agreed source of truth during transition.
- Support staff have diagnostic and escalation steps for both versions.
- The launch message includes the verified store link and sign-in instructions.
- A named owner can stop release and follow the rollback procedure.
This is a release gate, not a target number of migrated users. It establishes the minimum conditions for opening access without confusing a fast release with continuity of service. Keep the evidence together: screenshots of key journeys, reconciliation totals, payment test references and the person who signed off each check. When a support issue appears, that record tells the team whether the fault existed before launch or began during the cutover.
FAQ
What happens to photos and documents users uploaded? Include them in the inventory, copy them with the correct access rights and keep each file linked to the right account. An export of database tables alone is insufficient if files live elsewhere.
Do users need a new data notice? Check what changes in hosting, providers and information collected. Privacy text and user messages should describe how the new version actually works.
Will people need to reset their passwords? It depends on the authentication setup and what can be transferred safely. If sign-in secrets cannot be moved, plan a guided reset instead of a fragile copy.
Can the app keep its store reviews? An update to the existing listing keeps them. Apple says an official app transfer between accounts also retains ratings and reviews; a new listing is a separate product.
When can the old version be switched off? After subscriber entitlements, data and essential journeys are checked, followed by the support period agreed in the plan. A count of new installs alone is insufficient.
What if an account has no valid email address? Provide another identity check and a support path. Never merge two records using a display name alone.
Can real users test the replacement before release? Yes, with a willing group and an appropriate test build for each store. Ask them to finish whole tasks rather than merely comment on screen design.
Who responds when a subscription is charged but not recognized? Assign a support owner with a way to verify the charge and restore access. Rehearse that case before general availability.
Scope the move before pricing it
If the product already has users, first inventory what must survive the cutover. Discuss the move with Inyka to define the scope, store release route and checks before signing a migration quote.
Book a 30-minute discovery call to review account access, subscriptions and the user base that must be preserved.
Frequently asked questions
- What happens to photos and documents users uploaded?
- Include them in the inventory, copy them with the correct access rights and keep each file linked to the right account. An export of database tables alone is insufficient if files live elsewhere.
- Do users need a new data notice?
- Check what changes in hosting, providers and information collected. Privacy text and user messages should describe how the new version actually works.
- Will people need to reset their passwords?
- It depends on the authentication setup and what can be transferred safely. If sign-in secrets cannot be moved, plan a guided reset instead of a fragile copy.
- Can the app keep its store reviews?
- An update to the existing listing keeps them. Apple says an official app transfer between accounts also retains ratings and reviews; a new listing is a separate product.
- When can the old version be switched off?
- After subscriber entitlements, data and essential journeys are checked, followed by the support period agreed in the plan. A count of new installs alone is insufficient.
- What if an account has no valid email address?
- Provide another identity check and a support path. Never merge two records using a display name alone.
- Can real users test the replacement before release?
- Yes, with a willing group and an appropriate test build for each store. Ask them to finish whole tasks rather than merely comment on screen design.

About the author
Youssef AttiaYoussef Attia est le fondateur d'Inyka, studio spécialisé dans les applications mobiles React Native pour iOS et Android. Il accompagne les porteurs de projet du cadrage jusqu'à la publication sur les stores, avec un prix fixe annoncé avant signature.
Read next

Move a native app to React Native? Five questions first
Moving a native iOS or Android app to React Native only makes sense when cost, team and roadmap support it. Five questions to decide and scope the work.
Read article
Taking over an abandoned mobile app starts with an audit
Taking over a stalled mobile app requires an audit of source code, access, data and app store accounts. Use the findings to choose repair or a focused rebuild.
Read article
Proprietary community app: leaving Facebook Groups
When a proper mobile app replaces Facebook Groups: thresholds, MVP scope, real 3-year cost comparison, and a workable member migration plan.
Read article