Bring an app you already have

Step-by-step guides for moving an existing app here — its code, database, files, secrets and domain — organised by what the app is built on. Your code is standard, so there is no lock-in on either side: you can bring an app in, and you can take it out again.

What a migration involves

The four things you move

Every app is (1) code, (2) a database, (3) secrets and environment variables, and (4) a domain. Move them in that order. Your code is standard — React, Python, Flutter and so on — so nothing is truly locked anywhere; the work is mostly copying and re-pointing.

The safe pattern: run both in parallel

Never switch the old app off first. Rebuild here, connect a copy of the database, test until it matches, then re-point the domain. The original keeps serving your users the whole time, so a failed attempt costs you nothing but an afternoon.

You do not need to move everything at once

Keeping your existing database or file storage and simply pointing the new app at it is a perfectly good first step — add its connection string under Deploy & Manage → Secrets and you are running here with zero data migration. Move the data later, at your own pace, once you trust the new app.