Bolt writes your project in the browser and publishes it on its own hosting, Bolt Cloud. To publish the same project on Ai to App, the zip that Bolt downloads is all you need. Before uploading, check what kind of project it is: in the same chat, Bolt can build a website, a server application or a mobile app.
Download the Zip From Bolt
- Open your project in Bolt.
- Click the project name at the top left and choose Download in the menu that opens.
- Keep the downloaded zip without unzipping it; this is the file you will upload to Ai to App.
If you connected the project to GitHub, you can also get it from the repository with Code → Download ZIP. The Export project first button that appears when you delete a project in Bolt also downloads the same zip.
What Happens Depending on Your Project Type
Unzip it and look at the dependencies in the package.json file. Ai to App determines the type from there:
| What you see in the dependencies | On Ai to App | What you do |
|---|---|---|
vite (Bolt's default) | Website. It is built on the server and the resulting dist is published. | Upload the zip as it is. |
next | Server application. It is built with next build and runs with next start. | Upload the zip as it is. |
astro | Website. It is built and dist is published. | Upload the zip as it is. |
Server packages such as express, hono | Server application. | The start script must start the production server. |
expo | Mobile app; it is not published on the web as it is. | Run npx expo export --platform web on your computer and zip the contents of the resulting dist folder. |
Drop the zip into the box on the home page. The pre-check shows the type and anything missing without creating an account.
Bolt Database and Sign-In Settings
Bolt's database stays on Bolt Cloud; your app connects to it while running on Ai to App too. All you need to move are the connection and sign-in settings.
- Connection Values
- In a project that uses Bolt Database or Supabase, the database address and key are in the
.envfile. Ai to App passes values with theVITE_prefix to the build by itself; enter values without the prefix on the Environment Variables screen of the app's card on the My Apps page. - Server Functions and Secrets
- Bolt's server functions and the secret keys they use run on the database side and do not go into the zip. You do not need to define them separately on Ai to App.
- Sign-In Redirect
- In Bolt, click the database icon at the top center, open the Authentication tab and, in its Advanced section, enter
https://your-project.aitoapp.comin the Site URL field, then addhttps://your-project.aitoapp.com/**to the URI allow list. Bolt updates these fields only for its own published address; if you do not add them, confirmation and password reset links go tolocalhost:3000. - Moving the Database to Your Own Account
- If you will use the app for a long time, move the database to your own Supabase account: database icon → Advanced → Claim. This step requires a Pro or Teams plan in Bolt.
Common Problems
If the console says the Supabase address is missing, there is no .env in the zip. Copy the values from the .env file in Bolt, enter them in the dashboard and press Save and Republish.
In Bolt, the dev script can start both together; once published, a single start is needed. The server must be set up to also serve the built frontend; you can have Bolt do this.
Site URL is still set to Bolt's default. Follow the Sign-In Redirect step.
The mobile app was uploaded with its source code. First export the web version, then zip only the contents of the dist folder.
Later Versions
Make the change in Bolt, download the zip again and upload it from the same app's card. Your address stays the same. The deployment on Bolt Cloud and the one on Ai to App are separate copies; if you want to keep both up to date, publish both after every change.
