How to Create Mobile Apps
This guide explains how to build and install your Bolt Expo app on Android and iOS devices and deploy it to the web using EAS (Expo Application Services).
The instructions below will help you get your app to your users. If you would rather learn by watching a tutorial you can do that right here:
Prerequisites
In order to get your app delivered to your users make sure you have each of the following:
-
Node LTS and Git
-
Expo Account → expo.dev
-
Apple Developer account:
To create one, see
-
Google Play Developer Account:
Must have a paid developer account. For details on setting one up, visit the
Intro to EAS
EAS (Expo Application Services) is a cloud service for Expo and React Native apps, built by the Expo team. This guide shows you how to use EAS to build and deploy your project efficiently.
Install EAS CLI
Use the Expo CLI tool to interact with EAS from your terminal. Install it by running:
After installation, log in to your Expo account:
Follow the prompts to complete the login process.
Download Your Project
After building your app with Bolt, download the code and open it in your favorite IDE (e.g., VS Code, Cursor). Then, open a terminal and install the project dependencies by running:
To ensure all dependencies are up to date, run:
This command validates the project’s dependencies and prompts you to fix any issues it detects.
Setting up EAS in your project
Before continuing, this is a good time to update your app’s name if needed. Open the app.json
file and update the "name"
field. For example:
Also, update the "slug"
to match your app name. Keep it lowercase and replace spaces with dashes. This value cannot be changed later. For example:
To initialize a new project in EAS, open a terminal and run:
The CLI prompts you to select the account that should own this project. After making your selection, press Enter and confirm the project creation.
Configure EAS Build
EAS Build is one of EAS’s services, providing cloud-based app building. In your project’s terminal, run:
This command configures both Android and iOS projects. After the configuration, you should see something similar to the screenshot below.
Deploying web app
After you configure EAS Build, you can start deploying. Deploy the web version first.
In your terminal, run:
This command generates a dist
folder in your project’s root directory containing the web app bundle.
Next, run:
Select a preview URL for your project and press Enter to deploy.
That’s it! now you can share your production URL with friends.
Deploying iOS app
You need an Apple Developer account for this step.
In your terminal, run:
Select ios
as the platform. This command builds your app and submits it to the Apple App Store. If this is your first time running it, EAS will also:
-
Create an app in your Apple Developer account.
-
Set up an internal TestFlight group and add the build to it.
-
Add members from your Apple Developer account to the TestFlight group.
When the build is ready, you should receive an invitation email from TestFlight to start testing your app.
Follow the CLI prompts. In most cases, you can press Enter to accept the defaults. If you want to learn more about each step, refer to the EAS Docs.
Deploying Android app
You need a Google Play Developer account for this step.
In your terminal, run:
This command triggers a production build for Android. Once the build is ready, follow the instructions in the CLI to download it.
Next, go to your Google Play Console account and:
-
Create a new app.
-
Set up a new internal release group.
-
Add testers.
-
Upload the build from EAS to the internal testing group.
At this point, you can add more testers and share the testing link with them.
Conclusion
At this point, you should have a deployed website, and your native app should be distributed for internal testing across the App Store and Google Play.
When you’re ready to go to production, fill in your app’s details on each store and send the build for review. Once approved, your app will be available for the world to download.