Home / Compare builders / SPOE vs Floot / How to export from Floot
How to export your code from Floot, and keep it running
On a paid plan, Floot saves the whole project as a ZIP from Get Code in its project menu on floot.com, with instructions for running it; it does not sync with GitHub, and your AI assistant cannot make the download for you. The database downloads on any plan as a gzipped pg_dump that restores into any PostgreSQL database. The code does not build anywhere else until you replace the built-in Floot services it imports, such as sign-in, storage, AI and email, and your API keys and uploaded files stay behind.
From Floot's own docs, read 2026-10-27. Every step links to the page it is from.
Download a ZIP (paid plans)
- Open your project on floot.com. There is no export tool on the connector, so your AI assistant cannot make the download for you. (source)
- Click the project name in the top bar, choose Get Code, then Download as ZIP. The download includes instructions for running it. (source)
- The zip is built in your browser, so give it a moment on a large project. (source)
Keep a folder in sync, for Git (paid plans, Chrome or Edge)
- In Chrome or Edge, choose Get Code, then Folder Sync, and connect a folder on your computer to the project. (source)
- Floot lists what would move each way: changes to send, changes to bring into your folder, ones it merged on its own, and conflicts for you to decide. Nothing moves until you review the merge and apply it. (source)
- Commit from that folder to put the code on GitHub, since Floot does not sync with a Git repository. The server.ts and README that run the app elsewhere come only with the zip. (source)
Your database (any plan)
- Do it while your hosting balance is still positive: once it runs out, the database cannot be exported until it is paid, even before your apps are taken down. (source)
- On floot.com, open the project's Services tab, then Data, select your Floot database and open a table. (source)
- Click the cog icon in the table header to open Database Settings, and under Export click Download Database. Tick Structure only first for the schema without any rows. (source)
- The export runs in the background, however large the database is. Download appears when it is ready and works for 24 hours, and you can run up to 5 exports per database a day. (source)
Run it somewhere else
- Before you export, ask your AI assistant to move the app off every built-in Floot service it imports from @floot/: any import left fails to resolve, so the project does not build. (source)
- Floot's docs name a replacement for each: your own auth provider for Floot OAuth, object storage such as Cloudflare R2, S3 or Cloudinary for Floot Storage, your own AI provider key for Floot AI, Resend, SendGrid, Postmark or SES for Floot Email, and your platform's scheduler for scheduled and background jobs. (source)
- Restore the database into a PostgreSQL database you control with gunzip -c database-dump.sql.gz | psql followed by its connection string. Supabase, Neon, AWS RDS and Railway all work. (source)
- Fill in env.json, which comes empty: a JWT secret you generate (its docs give a one-line node command), your own PostgreSQL connection string, since Floot's database is not reachable from a self-hosted app, and the API keys for any outside services. (source)
- Build and run it: npm install -g pnpm, pnpm install, pnpm vite build, then pnpm tsx server.ts. (source)
- While the app is still on Floot, have your assistant copy the uploaded files to your new storage, then update the paths: the exported code still points at URLs you no longer host. (source)
- To move a live app: get the code running on your host against a test database, remove any custom domain and unpublish on Floot to stop new writes, export and restore the database, then point your domain's DNS at the new host. (source)
What comes out
- The zip is the project as it stands now, the same code the preview runs: a Node.js application. (source)
- A Floot project is a TypeScript and React app, with pages, components and backend endpoints, and you can read or export all of it. (source)
- The zip carries the server.ts and README for running the app elsewhere; a synced folder does not. (source)
- The database export is a gzipped pg_dump without owners or grants, so it restores into any PostgreSQL database: tables, views, sequences, indexes, constraints, functions, triggers and row-level security policies. Unless you tick Structure only, it holds the whole database. (source)
- Your app's users are accounts in your app's own database, not in Floot's. (source)
- The built-in email-and-password sign-in stores passwords as bcrypt hashes. (source)
- Floot says you own 100% of your app: the code, the data and the intellectual property. (source)
What stays behind, and needs replacing
- Built-in services are added by Floot's build and are not in the export, among them sign-in, storage, AI, realtime, email, scheduled and background jobs, push, and Google and Microsoft sign-in. Any @floot/ import left in the code breaks the build. (source)
- env.json lists the variables the app expects, but leaves every secret for you to fill in. (source)
- A stored key is never shown again, to anyone: for a key you no longer have, Floot says to create a new one at the provider. (source)
- Uploaded files are not in the code zip, and there is no bulk download: Services, then Storage, lists them and previews them one at a time. (source)
- Files in Floot Storage are not backed up and have no version history. (source)
- The zip holds no checkpoints or history, and skips the development-only example files. (source)
- Pre-rendering does not come along: the exported server sends the same index.html for every page and renders in the browser. (source)
- Everyone signs in again after the move, since you generate a new JWT secret, and anyone who connected a Google or Microsoft account through Floot connects it again. (source)
- Get Code is checked against your own plan: on a free account it opens the upgrade dialog, even on a project shared by an owner who pays. (source)
- Once your hosting balance runs out, you cannot export a database until it is paid, and after a takedown your floot.app address is released and can be claimed by someone else. (source)
- When a cancelled plan ends, Get Code stops, and published apps stay up only while hosting credit lasts, then go offline with no grace period. (source)
- Self-hosted apps get no updates from Floot, and Floot support does not cover them. (source)
Not on Floot's pages
- Docker or docker compose files for the exported app.
- Which Node.js version the exported app needs.
- Whether the code zip holds the database schema as migration files, apart from the database export.
How SPOE differs
- The whole project. A SPOE export is the whole project: the code, the Docker files that start it and, for a full-stack app, its database migrations, with a signed provenance manifest and the verifier inside. It starts with docker compose up, with nothing of SPOE inside, so there is nothing of ours to replace.
- Signed and recorded. Every export is signed by SPOE: an Ed25519-signed provenance manifest, with a record of it on APIR's hash-chained log. APIR is a sister company of SPOE, run by the same founder. spoe.ai/verify checks every file and that spoe.ai signed it, in your browser, so anyone can prove the code is exactly what was exported.
- Yours for good. Your first payment of any size unlocks export permanently, whether or not you ever pay again. Locked or not, the code is always visible and copyable in the editor.
- Coming from Floot. SPOE does not import a Floot project. If the app is live and you can show the site is yours, with a DNS record, a file on it or a tag in its pages, Bring your site copies the page at that address, with its styles and pictures, into a SPOE project to keep building; the data and the logic behind it are not copied. Otherwise, describe the app to SPOE and it is built as a Next.js, Fastify and Postgres project you hold. Keep your Floot export either way: it is yours.
SPOE vs Floot
Export guides for Lovable · Bolt · Base44 · v0 · Replit · Bubble · Emergent · Rocket · Anything · Softr
How it works · Features · Models · Pricing · Docs · Blog · Handle checker · App ideas · Templates · Arcade · Compare builders · Alternatives · Best AI app builders · Verify an export · Developer API · Start free