For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /docs/mobile.md (or send Accept: text/markdown).
Mobile overview
An Expo surface connected to the same server-owned foundation.
Your first Mobile session
Follow the Mobile tutorial below from a computer, with a phone or installed simulator nearby. You will install the project, write a public API address in apps/mobile/.env.local and scan an Expo QR code. Expo is the development tool that opens your React Native screens on a device.
The Next.js API and shared server packages remain the source for accounts, data and permissions: this is the running Web backend your phone talks to. Expo's QR server only delivers the screen code. A successful preview does not mean the backend, sign-in or store purchases have been configured; the tutorial shows how to test each boundary in order.
Share contracts, keep native presentation
Expo includes native sign-in and session handling, workspace and settings surfaces, chat controls, and RevenueCat purchase workflows. The Next.js API and shared server packages remain the source for shared data, authorization, and provider verification; native screens call them instead of embedding server credentials.
The Expo application lives in apps/mobile. It consumes the shared foundation through an API rather than embedding server credentials. Native authentication, secure session storage, deep links, chat controls, and RevenueCat purchase presentation each have client modules.
Configure the API and app scheme
Set EXPO_PUBLIC_API_URL to an API origin reachable by your emulator or physical device. Localhost on a phone refers to that phone, so use the appropriate reachable development host. EXPO_PUBLIC_APP_SCHEME identifies the app’s deep-link scheme.
Review apps/mobile/app.config.ts and the authentication configuration before testing callbacks. Public Expo values are bundled into the client and must contain no provider secrets.
Verify on the target device
Run deterministic session-storage, deep-link, chat-cancellation, and entitlement tests first. Then verify sign-in return, session restoration, sign-out, and purchase sync in the intended EAS development build; Expo Go cannot validate real store purchases.
Physical-device and provider acceptance are separate from the local web golden path. Track them explicitly for each release target.
If you want to continue setup, read Run the mobile app.
