Skip to main content
The in-browser preview is the fastest way to iterate, but a real device reveals things the browser can’t—native API behavior, real hardware performance, and touch feel. This page covers your options for getting your Openv2 project onto a physical phone.

In-browser preview

The Preview tab in the Workbench runs the Expo web target inside a device frame. Use it for:
  • Layout and spacing work
  • Navigation flows
  • Most UI and state logic
This is your tightest feedback loop because it runs directly inside the WebContainer session. For anything that doesn’t require a native runtime, start here.

Expo Go with a QR code

Expo Go lets your phone load the development build directly from the running dev server.
1

Install Expo Go

Download Expo Go from the iOS App Store or Google Play Store on your phone.
2

Start the dev server

Make sure your app is running in Openv2. Check the terminal tab in the Workbench—you should see the Expo dev server output and a QR code.
3

Scan the QR code

Scan the QR code from the Openv2 Preview panel or directly from the terminal output. Your phone opens the app through Expo Go.
On iOS, use the native Camera app to scan. On Android, use the Expo Go app’s built-in scanner.
If the scan fails, check:
  • Your phone and the dev server can reach each other (same network, or tunnel enabled—see below)
  • No firewall or VPN is blocking the connection
  • The dev server is actually running (watch for errors in the terminal tab)

Tunnel preview

If your phone can’t reach the dev server directly — for example, when you’re on a different network — Openv2 offers a tunnel option that makes your session reachable from any network without requiring the same LAN. Use the QR / tunnel controls in the Preview panel to enable it.
Tunnel availability and stability depend on network conditions. If the tunnel is unavailable, fall back to Expo Go on the same network, or continue with the in-browser preview.

Dev builds

For apps that require custom native code beyond what Expo Go supports, you’ll need a dev build—a custom app binary with your specific native dependencies included. See Builds for how to generate one.

What to check on device vs browser

Some things only show up on real hardware:
CheckWhy device matters
Native APIsCamera, push notifications, and deep links don’t run in the web preview
PerformanceSlow lists, large images, and animation jank appear on real hardware even when the browser feels smooth
Touch targetsTap accuracy and gesture feel are only meaningful on an actual touchscreen
Font renderingSystem fonts and text scaling look different on iOS and Android
When you spot a performance issue on device—like a laggy list—describe what you see and ask the assistant to optimize. Paste specific component names or file paths for faster fixes.

When you’re ready to distribute your app, see Builds for generating APK/AAB and IPA files, or go straight to Play Store or App Store publishing.