1.6 KiB
1.6 KiB
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.