Decisions5 min read
Moving off a no-code app (Bubble, FlutterFlow): stay, export or rebuild?
By Sannan MalikPublished
Short answerIt depends on what the platform lets you take. Bubble's manual says there is no way to export a Bubble app as code, so leaving means rebuilding the logic, though your data comes out as CSV or JSON or through the Data API. FlutterFlow's paid plans can download the project's Flutter source, so exporting and continuing in code is often possible. Stay while the platform fits; move when a specific limit is costing you money.
What each platform lets you take with you
Start with the facts from each vendor's own documentation. They decide which of the three options is even open to you.
| What you can take | Bubble | FlutterFlow |
|---|---|---|
| App logic as code | No. The manual says there is no way to export the app as code; Bubble owns the code that runs it | Yes, on paid plans: "Download project source code" is listed for Basic, Pro and Max, not Free |
| Your data | Export from Data, App data as CSV, JSON or NDJSON, or read it through the Data API | Lives in whichever backend the project uses, so it moves with that backend |
| Design | You own the design, and the manual says Bubble can help export it | Part of the exported Flutter code |
| Ongoing sync | Not applicable | Push to GitHub (Pro and Max) always writes to a branch named flutterflow |
| Realistic exit | Rebuild | Export and continue, or rebuild if the code does not suit you |
Stay, export or rebuild: my checklist
Answer these before you spend anything. Two or more yes answers in the first group and I would stay for now.
- Stay if the app does what the business needs today.
- Stay if the monthly platform cost is lower than what a rebuild would cost to maintain.
- Stay if nobody on the team can review code, and you have no budget for someone who can.
- Export (FlutterFlow) if you are on a paid plan, the generated code builds and runs locally, and you want a developer to take over.
- Rebuild if you are on Bubble and have hit a limit that blocks revenue: performance, a needed integration, an investor or client asking where the code lives.
- Rebuild if the exported FlutterFlow code would cost more to clean up than to rewrite. Have a developer read it before you decide.
- Whatever you pick, export a full copy of your data this week and open it yourself.
Exporting a FlutterFlow project
FlutterFlow offers two routes. The CLI is the recommended one: install it with dart pub global activate flutterflow_cli, create an API token, and run flutterflow export-code with your project ID. The other is Developer Menu, Download Code in the toolbar, which gives you a zip. FlutterFlow says code download is only on paid plans, and advises fixing any project issues first.
The downloaded project opens in VS Code or Android Studio and runs with flutter pub get and flutter run. That is a normal Flutter workflow, which is why a FlutterFlow exit is usually cheaper than a Bubble one.
Decide where the source of truth lives. FlutterFlow's GitHub page warns that direct changes to the flutterflow branch are overwritten by the next push, and its CLI has a .flutterflowignore file to protect named files during export. You can keep designing in FlutterFlow and merge into a develop branch. I would not do that for long. Two places to edit one app is how changes get lost; once a developer owns the code, I would stop editing in FlutterFlow.
Getting your data out of Bubble
In the Bubble editor, go to Data, App data, pick a data type, set the view to the records you want and click Export. Bubble emails a download link when the file is ready. Exports share the scheduler with API workflows, so a busy app can see delays.
One known issue matters for migrations: date interval fields export as text such as "2 days", not the millisecond values Bubble stores. Convert those before you import anywhere.
For a repeatable copy, use the Data API. It is off by default; turn it on under Settings, API, then choose which data types to expose. Access follows your privacy rules, so a migration script only sees what those rules allow. The export page does not say how uploaded files and images are handled, so test that with real records before you plan around it.
A migration order for a Bubble booking app
Say the app has customers, staff, services, bookings and payments. This is the order I would move it in, so the live app keeps working until the last step.
- 1. Freeze the data model. No new fields in Bubble from this point.
- 2. Export every data type and map each field to a table in the new PostgreSQL database, including the date interval fix.
- 3. Build the new backend and write an import script that reads through the Data API, so it can be rerun.
- 4. Import into a test copy and compare record counts, totals and a sample of bookings by hand.
- 5. Build the new app screens against the imported test data.
- 6. Plan sign-in: unless the platform confirms otherwise, assume every user will need to set a new password, and write that email now.
- 7. Pick a quiet cut-over window, run the import one final time, switch the domain or release the new app, and keep Bubble read-only for a month.
Rebuilding with me
A Bubble web app rebuild is web app development, priced as a fixed quote once the scope and the data export are on the table. If the new version is a mobile app, my Flutter packages apply: Launch at $999 for up to 10 screens, Growth at $1,699 with your own Node.js backend and PostgreSQL database, and Scale at $2,500 with an admin dashboard. Complex payment gateways and complex ERP modules are quoted separately, and hosting and third-party fees are not included.
Leaving FlutterFlow? Send me the exported project. I will tell you whether I would continue from it or start clean, and why.
Questions
- Can I export my Bubble app as code?
- No. Bubble's manual states there is no way to export an application as code, because Bubble apps run only on Bubble. You can export your data and Bubble can help export the design, but the logic has to be rebuilt.
- Does the free FlutterFlow plan let me download code?
- Not according to FlutterFlow's plan comparison, which lists project source code download on Basic, Pro and Max only. Pushing to GitHub is listed on Pro and Max. Check the page again before you subscribe, as plans change.
Sources
Platform rules and fees in this article were checked against these official pages on 10 November 2026. They change, so confirm before you rely on them.
Sannan Malik is a software architect and product builder with 8+ years in software, CEO of Alpha Notic FZC and a Certified Scrum Product Owner. He builds mobile apps and business software for companies in the UAE, UK and US.