How to test an AI-built app on your phone with Expo Go
Open your AppX project in Expo Go, test a complete workflow on your phone, troubleshoot preview readiness, and understand when a development build is needed.
AppX team ·
Expo Go is a useful way to test an AI-generated Expo and React Native app on a physical phone before treating it as a release candidate. In AppX, it is a device-preview route: it helps you check the interaction, layout, and device behavior for the project in front of you. It is not proof that the app is ready for an app store.
This guide uses AppX's current labels and an illustrative water-tracker app. Use the same sequence for your own project, then record what you found before asking AppX for the next change.
Choose the preview that answers your question
AppX offers more than one way to inspect a project. They serve different purposes.
| Surface | What it is useful for | What it does not establish |
|---|---|---|
| Browser preview | A quick view of screens and basic web-rendered interaction in the Preview area. | Native-only imports and phone-specific behavior can still fail. |
| Device preview with Expo Go | An AppX preview opened on a physical phone through the Preview on device QR flow. | A standalone app, production configuration, or store acceptance. |
| Development build | A developer-installed build with the app's own native runtime and dependencies. | Store review or production release by itself. |
| Production/store build | A signed release artifact prepared for distribution and store submission. | That the store will accept it, or that every user path has been tested. |
Expo describes Expo Go as a prebuilt app with a fixed set of native libraries. That makes it convenient for supported JavaScript and Expo SDK work, but it cannot add arbitrary native code after installation. A development build is the right next environment when the app needs a native library or native configuration that Expo Go does not contain. See Expo's development-build FAQ and its guide to custom native code.
Test an AppX project on your phone
Start after AppX has generated the project and the preview is available. Open the project and choose Preview on device. AppX shows a QR panel headed Preview on device and asks you to scan it with your phone camera.
The QR opens an AppX preview link. Scan it with the camera. The landing page shows Install Expo Go if you need the app, then Open in Expo Go when the preview is ready. Follow that link for the hosted project; local-network and tunnel instructions from a separate Expo setup may not apply to it.
If you are already viewing the AppX page on the same phone, use the Open in Expo Go link in the panel instead of scanning the QR. AppX provides that direct route for the same-device case.
For the water tracker, make the test small and observable:
- Open the app and check that the count starts at zero and the progress display agrees.
- Tap Add a glass twice. Confirm that both the count and progress change together.
- Tap Reset. Confirm that both return to zero.
- Rotate or resize only as your device permits, then check for clipped text, overlapped controls, and targets that are difficult to tap.
- Note the exact failure or accepted behavior in chat. For example: “On the phone, Reset returns the count to zero but the progress remains half full. Fix that and keep the screen unchanged otherwise.”
The phone preview gives you evidence about that project revision on that device. It does not replace a release test plan for account flows, remote services, permissions, or a store build.
Read the readiness states before troubleshooting
AppX may still be preparing the sandbox, the temporary environment running your preview, when you open the QR panel. Generating QR… means the panel is loading its preview information. Sandbox is starting — QR will activate shortly means the preview is being started. If the panel says Sandbox not running yet, return to the project and check whether generation and preview startup have finished before trying the phone link again.
After you scan, the landing page may show Preparing sandbox…, Starting your preview…, or Waking your app…. Wait for Open in Expo Go to become available; the landing page only enables that action when AppX has a ready preview URL. If it instead says the preview is taking longer than usual, choose Try again. If the QR panel cannot load, refresh the AppX page and retry; if it persists, capture the visible message for support.
An AppX advisory can also say Native build has an error — web preview still works. Treat that as a useful split: the browser view may still help you review the screen, but Expo Go may not load until the native-only problem is fixed. Ask AppX to fix the reported behavior, then repeat the same phone check. Do not call a browser-only result a successful device test.
Handle compatibility deliberately
Expo Go compatibility has two common boundaries. First, the installed Expo Go version must support the project's Expo SDK. Expo's current version-mismatch guide explains the error and platform-specific compatible-install options. Check the project's declared SDK and the installed Expo Go version before deciding whether a project upgrade or a different compatible installation is appropriate.
Second, a package can be valid JavaScript yet rely on native code absent from Expo Go. Examples include a third-party native SDK, custom native configuration, or platform extensions. Expo says those cases require a development build built for the app’s own native runtime. That is a change of testing environment, not a reason to discard the prototype. Keep the failing feature specific: name the dependency or capability, decide whether it is needed now, and move to a development build only when the requirement warrants it.
For a stronger first prompt, use how to describe your app to AI. If you are turning a client request into a reviewable first version, use how to turn a client brief into a mobile app prototype. Then start a project in AppX, test one complete workflow on your phone, and make the next request specific enough to verify.