learning_ai_common_plat/docs/workstreams/MOBILE_WORKSTREAM_REMAINING.md

9.6 KiB

Mobile Workstream — Remaining Items

Last updated: 2026-02-15 Sources:

  • learning_voice_ai_agent/mobile_app/common/docs/MOBILE_APP_PLAN.md
  • learning_multimodal_memory_agents/docs/IMPLEMENTATION_PLAN_v2.md

iOS Progress Log (This Machine)

Home Laptop Priority (No Proxy Issues)

  • LysnrAI: smoke-test the audio PoC on at least 1 real iPhone + 1 real Android device
  • MindLyst: verify KMP build (iOS simulator): cd learning_multimodal_memory_agents/mindlyst-native && GRADLE_USER_HOME=/tmp/gradle ./gradlew :shared:compileKotlinIosSimulatorArm64 (verified 2026-02-15)
  • Visual consistency spot-check: design tokens across MindLyst iOS/Android/web previews

LysnrAI Mobile (iOS + Android)

Phase 1 — MVP (Finish Week 4-5)

  • Text cleanup client (Android + iOS)
  • License activation flow (auth/licensing)
  • Cloud sync (settings + history)
  • Settings persistence (local + synced)
  • Copy/share output — swipe-to-share in HistoryView + delete individual/all history
  • Sound feedback (iOS done) — https://github.com/saravanakumardb1/learning_voice_ai_agent/commit/2e79ed1
  • Stats screen (wire UI to real data)
  • Polish + bug fixes
  • Device testing (Pixel 7/S24, Pixel 5, iPhone 15, iPhone 13)
  • TestFlight build (internal) + metadata sanity — Build 7 + Build 8 uploaded (2026-02-15)
  • Play Store internal testing track build
  • Close "design mockups" item: create mocks or explicitly skip (screens already fleshed out)

Phase 2 — Enhanced Input

  • iOS keyboard extension
  • Android input method
  • Home screen widgets (both platforms)
  • Android Quick Settings tile
  • Haptic feedback
  • Offline STT exploration

Phase 3 — Advanced

  • Apple Watch / Wear OS companion
  • Siri Shortcuts / Google Assistant integration
  • Live transcription mode (continuous, no cleanup)
  • Multi-language switching
  • iPad-optimized layout

MindLyst Native (KMP + iOS + Android)

Phase 0 — Setup/Infra (carryovers)

  • P1 — GitHub Actions: Android debug build on PR (blocked: no Android SDK in CI yet)
  • P3 — Fastlane setup for iOS TestFlight + Android Play Store beta
  • P1 — Set up Stripe account for MindLyst subscriptions (separate from LysnrAI Stripe)
  • Cosmos DB accessible with test read/write
  • CI runs on every PR

Phase 1 — Capture + Triage Foundation (Week 1-2)

Voice capture pipeline

Text capture

Image/screenshot capture

  • P0 — Camera capture button on iOS + Android
  • P0 — Upload image to Blob Storage, store reference in memory_items

Triage persistence

Blob persistence

Widgets

  • P0 — iOS WidgetKit: home screen widget with Voice/Text/Photo buttons (source scaffolded) — https://github.com/saravanakumardb1/learning_multimodal_memory_agents/commit/e31f8f4
  • P0 — Android AppWidget: home screen widget with Voice/Text/Photo buttons
  • P1 — Widget voice capture -> STT -> triage (without opening app)
  • P1 — Haptic confirmation on successful capture
  • P2 — Lock screen widget variant (iOS 16+ Live Activities)

Phase 1 exit criteria

  • User can capture voice, text, image, and link on iOS + Android
  • Widget captures without opening app
  • All data persisted to Cosmos DB + Blob Storage

Phase 2 — Brain Interaction + Daily Loop (Week 3-4)

  • P0 — Voice input for brain questions (speech-to-text)
  • P1 — Spoken response (TTS) for brain answers
  • P0 — Store generated brief in DailyBrief Cosmos container (currently in-memory)
  • P1 — Audio brief: 30-60 second spoken summary (TTS)
  • P0 — iOS Share Extension: receive URLs, text, images from any app (scaffolded) — https://github.com/saravanakumardb1/learning_multimodal_memory_agents/commit/298236c
  • P0 — Android Share target: receive intents for URLs, text, images
  • Share sheet captures content from any app (native only)

Phase 3 — Weekly Reflection + Share (Week 5-6)

  • P0 — Store in ReflectionReport Cosmos container (currently in-memory)
  • P1 — Audio digest: 2-minute spoken reflection (TTS)
  • P0 — Share via native share sheet (iOS/Android)

Phase 4 — Insights (Week 7-8)

  • P1 — Store insights in BrainInsight Cosmos container (currently in-memory)

Phase 5 — Reliability / Performance / Privacy (Week 9-10)

  • P1 — Widget works fully offline (queues for sync)
  • P0 — Widget capture to haptic confirmation < 1s
  • P1 — App cold start < 2s on modern devices
  • P0 — Encryption in transit (HTTPS/TLS) and at rest (Cosmos + Blob)
  • P1 — Crash reporting (Firebase Crashlytics or equivalent)

Phase 6 — Beta / Store Submission (Week 11-12)

  • P0 — App Store submission (TestFlight) with all metadata
  • P0 — Google Play internal testing track
  • Beta build submitted to TestFlight + Play Store
  • P0 — App Store review submission (allow 1 week for review)
  • P1 — App Store screenshots: 5 screens per device size (iPhone, iPad, Android)

Phase 8+ — Post-MVP Add-ons

  • P1 — watchOS app: raise wrist -> speak -> capture
  • P1 — Morning brief glance on watch face
  • P1 — Haptic tap for forgotten item nudges
  • P2 — Complication showing streak count
  • P1 — Read-only calendar access (EventKit iOS, CalendarProvider Android)
  • P1capture@mindlyst.app email address per user