# 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`. ## 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. 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 ```