Blog

Hand Off a FlutterFlow App to a Developer: What to Prepare

How to hand off a FlutterFlow app to a developer: what you can export, which accounts to share (not transfer), and the traps to fix before they start.

Hand Off a FlutterFlow App to a Developer: what to prepare, cover image

Your FlutterFlow app is on TestFlight, maybe live in the stores, and real people use it. You’ve found a developer to take it further, and their first message is: “Can you share the code and give me access?”

On mobile, that one request covers six or seven things: the FlutterFlow project, a GitHub repo, a Firebase or Supabase backend, Apple and Google developer accounts, push-notification keys and every third-party API the app calls. Hand off a FlutterFlow app to a developer without mapping those, and you’ll either pay them to dig through your setup or give away something you can’t get back.

This guide covers what you can export, what to share instead of transfer, and what to write down first.

TL;DR

Why mobile no-code handoffs are trickier than web ones

A web handoff is mostly code, database and domain. Mobile adds three complications.

The stores are separate accounts. Your listing, reviews and release history live in Apple’s and Google’s consoles, not in FlutterFlow.

Some keys only download once. For Apple’s push notification key (the .p8 file), “the key is not saved in your developer account and you won’t be able to download it again” (Apple Developer). If a past freelancer kept the only copy, you’ll have to create a new key.

Old versions stay installed. Web users get your latest version on their next visit, but mobile users keep whatever build they installed until they update — so a careless database change can break the version people already have, even when the new build works fine.

Coming from a web builder? Our Lovable and Bolt handoff guide covers that side.

Export reality: what you can actually take with you

Before hiring, work out what you’re handing over: either code a developer can open, or a project that only exists inside the builder. Here’s what each builder’s docs said when we checked on 12 October 2026.

Export comparison, checked 12 October 2026. FlutterFlow: full Flutter/Dart code export on paid plans, Push to GitHub on Growth and up, native store builds, data in your own Firebase or Supabase; a developer takes over a Flutter codebase. Adalo: no code export, native builds, CSV per collection. Glide: no code export, PWA only, CSV or source sheet. Bubble: no code export, native builds via React Native, CSV and Bubble API. FlutterFlow listed Basic at $39/month and Growth at $80/month for the first seat.

On Adalo, Glide or Bubble, a developer either keeps building inside the tool or rebuilds from scratch. FlutterFlow adds a third option: export the code and carry on from there.

The 10-minute export self-check

Do this before your first call with a developer. You don’t need to be technical.

  1. FlutterFlow Developer Menu: can you click Download Code? If it’s locked, you’re on the free plan.
  2. Download the ZIP and store it outside FlutterFlow as a dated snapshot.
  3. Settings > Integrations > GitHub: is a repo connected, and whose account or organisation owns it?
  4. Log into Firebase or Supabase yourself. If you can’t, find out who can.
  5. Log into App Store Connect and Play Console. Confirm that you, not a former freelancer, are Apple’s Account Holder and Google’s account owner.
  6. Find the .p8 push key. Do you have it, or know who does?
  7. List your custom code: every Custom Action, Widget and Function.

If steps 4 to 6 end in “I don’t know”, fix that before hiring. Those accounts are the hardest to recover.

How to hand off a FlutterFlow app to a developer: share access, don’t transfer ownership

The developer gets their own login with scoped access, and you keep the owner seat. When the work ends, you remove one person and nothing else breaks.

Diagram of six accounts — FlutterFlow, Firebase/Supabase, GitHub, App Store Connect, Play Console, push keys and secrets — where the founder keeps the owner seat and the developer connects with a scoped role, plus a warning against transferring ownership

Account Give the developer Watch out for
FlutterFlow Editor access as a collaborator Ownership transfer “can not be undone”. To get it back, the new owner has to transfer it to you (collaboration docs)
Firebase A role under Users and permissions, using “least privilege” (Firebase IAM) FlutterFlow is already an Editor on your project (FlutterFlow + Firebase). Never share your Google login
Supabase Developer role, which can’t change project settings or API keys (Supabase access control) Invites expire after 24 hours
GitHub Collaborator on a repo you own Check the repo isn’t on a past freelancer’s account
App Store Connect Developer or App Manager role, limited to this app (Apple) Individual memberships have a catch (below)
Play Console App-level permissions with an access expiry date (Play Console Help) They must sign in with the exact email you invited
Push keys, Stripe, AI APIs Shared through a password manager vault Rotate anything pasted into chat or email

Apple individual memberships. If you enrolled as an individual, Apple says users you add “only access App Store Connect” and aren’t part of your team (Apple). Managing keys needs the Account Holder or Admin role (Apple keys), so expect to do those steps yourself.

Android’s two keys. With Play App Signing, Google holds the app signing key and you hold the upload key. If the upload key is lost, you can request a reset (Play App Signing) — but know where it lives.

Document what you built

The developer can read your code, but not the reasoning behind it. This FlutterFlow app takeover checklist covers what to write down before they start.

Pre-handoff checklist in four columns — Accounts, Code, Data and Docs — with a tick box for each item to confirm before a developer starts

FlutterFlow-specific traps

FlutterFlow’s visual builder hides a few gotchas that surface only once code is exported or pushed to GitHub. Check each before a developer forks the project.

Secrets in generated cloud functions. “Make Private” sends an API call through Firebase Cloud Functions, so your tokens stay out of the app (API calls). But FlutterFlow warns that a private value used this way “may appear in the cloud function’s code.” It also says you “must review and manage these cloud function files” before exporting or pushing to GitHub (dev environments). Then check your Custom Actions for hardcoded keys; custom Dart code ships inside the app.

Unreviewed Firestore rules. Rule options run from “Everyone” (signed in or not) to “No One”. FlutterFlow warns that defaults can be too open: a new collection everyone can read when only its creator should (Firestore rules). Your screens only show people their own data; the database still answers anyone who asks directly. Our post on backend validation explains why that gap is now easier for attackers to find.

The flutterflow branch gets overwritten. FlutterFlow “always pushes changes to a branch named flutterflow,” and direct edits “will be overwritten by the next push” (GitHub docs). The documented pattern: the developer works on their own branch and merges FlutterFlow’s updates in through pull requests. Agree on this on day one.

Decide where the visual editor stops. Code a developer edits in Git doesn’t flow back into FlutterFlow’s canvas. The VS Code extension syncs custom code files in both directions, but only on Growth and up (VS Code extension). Decide whether you’ll keep building visually or hand the codebase over fully.

Generated code may need restructuring. Every page gets its own widget and model file, and utilities sit in lib/flutter_flow/ (project structure). The code works, but a developer may want to reorganise it before adding large features.

A worked example (hypothetical)

Illustrative only, not a Banxal client.

A founder runs a FlutterFlow booking app on the Basic plan, using Firebase, live in both stores. They’ve hired a Flutter developer to add payments and a tutor dashboard.

  1. Self-check. Download Code works, but there’s no GitHub connection (that needs Growth). The Apple membership is individual, and a freelancer created the .p8 key last year — nobody can find it now.
  2. Code. The founder sends the ZIP; the developer sets up the repo in a GitHub organisation the founder owns.
  3. Access. The developer gets a scoped Firebase role, an App Manager role in App Store Connect limited to this app, and a 90-day Play Console invite.
  4. Keys. The founder revokes the lost key, creates a new one, and stores it in a shared vault.
  5. Rules. The developer’s first job: lock the bookings collection so tutors only see their own sessions.

It takes the founder an afternoon, and the developer starts on features right away.

When to rebuild instead

A handoff only makes sense if the foundations are worth keeping. On Adalo or Glide, getting code you own means a rebuild: your data comes with you, but the screens and logic don’t. On FlutterFlow, the deciding question is the data model. If your collections still match how the business works, harden what you have; if they don’t, every new feature will fight it. Our fix-or-rebuild self-test takes 30 minutes.

Choosing who takes over

Look for someone who reads Dart comfortably, has shipped Flutter apps through both stores, and has an opinion on FlutterFlow’s generated code. Good candidates ask to be invited, not for your passwords, and bring up the flutterflow branch before you do. Our guide to vetting a developer has interview questions and red-flag answers that carry over to mobile.

FAQ

Can I export a FlutterFlow app and keep editing it in FlutterFlow? Yes. FlutterFlow pushes to its flutterflow branch, and you merge that into your own branch. Changes the developer makes to generated code don’t come back into the editor (GitHub docs).

Do I need the Growth plan to hand off? No. Code Download is available on Basic, so you can send a ZIP. Push to GitHub and real-time collaboration need Growth or higher (plan comparison).

Should I give the developer my Apple or Google login? No. Both stores let you add users with limited roles, and Google lets you set an expiry date. Shared logins mean you can’t remove one person later.

I built on Adalo. Can I get the code? Not today. Adalo staff confirmed in August 2025 that it isn’t possible (Adalo forum). Export your collections as CSV and plan a move to code as a rebuild.

Next step

Most of a mobile handoff is admin, but some of it can’t be undone. Banxal builds cross-platform iOS and Android apps, and our product maintenance and growth work covers apps other people started too. Want a second opinion on your export, access and security rules before you commit to a developer? Get in touch and tell us what you’ve built.

What worries you most about handing over a no-code app: the code, the store accounts or the data? Let us know in the comments.

Building something like this?

Banxal designs and ships AI-first software in weeks. Tell us what you’re working on and we’ll give you an honest take.