# Mobile Roadmap Status: Draft Parent: `docs/ROADMAP.md` Stack: React Native + Expo + TypeScript # Phase M0 — Scaffold - [x] Create Expo app structure - [ ] Wire `@bytelyst/react-native-platform-sdk` - [ ] Wire `@bytelyst/api-client` - [x] Wire `@bytelyst/platform-client` - [x] Wire `@bytelyst/offline-queue` - [x] Import generated RN tokens - [x] Create navigation shell - [x] Define screen map # Phase M1 — Core MVP - [x] Auth flow - [x] Home / recent notes screen - [x] Note detail screen - [x] Quick capture flow - [x] Search screen - [x] Notifications/inbox placeholder if needed - [x] Connect notes/workspaces APIs # Phase M2 — Product Utility - [x] Lightweight editing - [ ] Notification handling - [ ] Offline queue / sync polish - [x] Approvals inbox if in MVP scope - [x] Basic artifact metadata viewing if in MVP scope # Phase M3 — Agent / Approval Utility - [x] Approval/reject actions - [x] Lightweight agent activity feed - [x] Mobile-friendly review surfaces for simple actions # Phase M4 — Hardening - [ ] Smoke tests - [x] Error-state polish - [x] Build/compile verification - [x] Token compliance review - [ ] Offline behavior review # High-Collision Areas - [x] root navigation setup - [x] auth bootstrap files - [x] token/theme entrypoints - [x] shared API client wrappers # Done When - [x] Mobile is useful for capture and retrieval - [x] Mobile supports lightweight editing and approvals for MVP - [x] Mobile does not try to duplicate dense web-only workflows # Progress Notes - 2026-03-10 — Mobile workstream moved from draft-only planning into initial implementation. - `learning_ai_notes/mobile/` was scaffolded from scratch with Expo + TypeScript. - Root app config now exists: `package.json`, `app.json`, `tsconfig.json`, `index.ts`, `babel.config.js`. - Expo Router shell now exists with auth entry, tab layout, home/recent notes, search, quick capture, inbox, and note detail routes. - Shared mobile bootstrap files now exist for: - `@bytelyst/auth-client` - `@bytelyst/platform-client` - `@bytelyst/offline-queue` - token-based theme wiring via `@bytelyst/design-tokens/tokens.json` - Zustand-backed auth, notes, and workspace stores were added for first-pass mobile state management. - Home/search/capture now use active workspace context for more useful mobile browsing. - Home now includes a workspace retrieval summary block to make the mobile surface more useful at a glance. - Note detail now supports lightweight local editing plus basic artifact metadata viewing. - Note detail now exposes first-pass loading-state polish. - Inbox now supports simple approval/reject flows and a lightweight activity feed. - Capture now surfaces offline queue readiness details for the current mobile scaffold. - Home and search now expose first-pass loading and empty-state polish. - Mobile dependency install now succeeds, and `npm run typecheck`, `npm run lint`, and `npm test` pass in `mobile/`. - Mobile now uses token-backed placeholder and border colors instead of raw hardcoded fallbacks. - Mobile currently uses provisional product config and fallback note/workspace data until product identity and backend contract details are finalized. # Open Questions - Should the current provisional bootstrap values (`productId: bytelyst-notes`, backend port `4016`) now be treated as final? - What are the final iOS bundle identifier, Android package name, and URL scheme/domain values? - Should mobile notes access go directly to the product backend for note CRUD while auth remains on `platform-service`? - Should the current local approval/activity model map directly to backend `note-agent-actions`, or stay as a mobile-specific condensed surface? # Blockers - `@bytelyst/react-native-platform-sdk` is referenced as a planned shared dependency, but the current workspace package does not appear ready for direct runtime consumption in this new app yet. - Product identity and backend contract details remain provisional in the planning docs, so mobile config values are placeholders. # Deferred - Real notification handling - Offline queue flush/retry integration against live APIs - Runtime smoke verification in Expo after dependency install