# PRD: Mobile Client **Module:** `mobile/` | **Namespace:** TBD **Status:** Deferred (v2+) | **Last updated:** 2026-02-17 --- ## 1. Overview Mobile client is deferred to a future version. The architecture supports it via the same Auth GW + SSE pattern used by the web and TUI clients. ## 2. Options to Evaluate | Option | Pros | Cons | |--------|------|------| | **PWA (web-sm)** | Zero extra work — web UI works on mobile browsers. Add manifest + service worker for installability. | Limited push notifications, no native feel. | | **ClojureDart** | Stay in Clojure ecosystem. Compiles to Dart/Flutter. | Immature ecosystem, debugging harder. | | **React Native + API** | Mature ecosystem, native feel, large talent pool. | Separate language (JS/TS), not Clojure. | ## 3. Recommended Path Start with **PWA** (progressive web app from web-sm) for mobile access in v1. Evaluate native options for v2 based on user feedback. **PWA requirements (P2, not v1):** - Add web app manifest to web-sm - Add service worker for offline caching - Responsive CSS for mobile viewports - Touch-friendly interaction sizes ## 4. Architecture (Future Native) Same pattern as TUI client: ``` Mobile App ←─ SSE (JSON) ──→ Mobile SM ──→ NATS ←─ HTTP POST ───→ ──→ API ``` A dedicated Mobile SM would handle push notification routing and mobile-specific optimizations (battery-aware polling, data compression). ## 5. No Test Cases No test cases defined for the mobile client as it is deferred. Test cases will be created when a specific implementation approach is chosen.