# T3 Code Mobile > [!WARNING] > T3 Code Mobile is currently in development and is not distributed yet. If you want to try it out, you can build it from source. ## Quickstart > [!NOTE] > Uses native modules so using Expo Go is not supported. You need to use the Expo Dev Client. This app has three variants: - `development`: Expo dev client, installable side-by-side as `T3 Code Dev` - `preview`: persistent internal preview build, installable side-by-side as `T3 Code Preview` - `production`: store/release build as `T3 Code` Run commands from `apps/mobile`. T3 Connect is optional and disabled in a fresh clone. Public configuration belongs in the repository-root `.env` or `.env.local`, not an `apps/mobile/.env` file. See [`../../.env.example`](../../.env.example). ## Development Start Metro for the dev client: ```bash vp run dev:client ``` Build and run the local iOS dev client: ```bash vp run ios:dev ``` Build and run the local iOS preview app: ```bash vp run ios:preview ``` Force the review diff highlighter engine: ```bash EXPO_PUBLIC_REVIEW_HIGHLIGHTER_ENGINE=javascript vp run ios:dev ``` `javascript` is the default and recommended setting for the review diff screen. Set `EXPO_PUBLIC_REVIEW_HIGHLIGHTER_ENGINE=native` only when you explicitly want to test the native Shiki engine. Inspect the resolved Expo config for a variant: ```bash vp run config:dev vp run config:preview ``` Run static checks for mobile native code: ```bash node ../../scripts/mobile-native-static-check.ts ``` The native lint task runs SwiftLint for Swift plus ktlint and detekt for Kotlin. Missing native tools are reported as warnings and skipped locally. CI installs the default toolset from `apps/mobile/Brewfile` before running the native checks. ## EAS Builds CI uses Expo fingerprinting with the `preview:dev` profile to reuse an existing compatible build when possible, or start a new internal EAS build when native runtime inputs change. Production and default local builds continue to use the `appVersion` runtime policy. For preview or production EAS environments, set `T3CODE_CLERK_PUBLISHABLE_KEY`, `T3CODE_CLERK_JWT_TEMPLATE`, and `T3CODE_RELAY_URL` as EAS environment variables. Expo config maps the canonical values into the mobile build. Create a PR preview dev-client build manually: ```bash vp run eas:ios:preview:dev ``` Create a cloud dev-client build: ```bash vp run eas:ios:dev ``` Create a persistent preview build: ```bash vp run eas:ios:preview ``` Android equivalents: ```bash vp run eas:android:dev vp run eas:android:preview:dev vp run eas:android:preview ```