guides/mobile-app.md
Mobile App
The mobile client lives in apps/mobile and is built with React Native + Expo.
Current Scope
- Keep-style card board home view
- Markdown note editor with preview
- Connect flow for relay pairing and direct credentials
- Local SQLite storage + sync queue
- Sync service with retry and best-effort Yjs/WebSocket hooks
- Settings for sync, appearance, and connection status
Not Shipped Yet
- App Store / Play Store distribution
- Google sign-in
- Automatic multi-server discovery
- Full multi-server picker UX
Run Locally
pnpm --filter @mino-ink/mobile start
pnpm --filter @mino-ink/mobile ios
pnpm --filter @mino-ink/mobile android
React Version Strategy
Mino currently uses a deliberate split because of upstream platform requirements:
- Web (
apps/web): React 19 (Next.js 15) - Mobile (
apps/mobile): React 18.3.1 (Expo SDK 52)
The workspace is configured so web and mobile React type packages are isolated from each other.
Future path:
- Upgrade mobile to Expo SDK 53+ and align both apps on React 19.
Android APK Build
See:
apps/mobile/README.md.github/workflows/mobile-android-apk.yml
Required env values include signing credentials, e.g.:
ANDROID_SIGNING_PASSWORDANDROID_KEY_ALIAS