42 KiB
Mobile App Readiness Audit — ByteLyst Ecosystem
Date: 2026-03-27 Scope: All 7 products with mobile surfaces (18 app targets total) Auditor: Cascade AI
Executive Summary
The ByteLyst ecosystem has 7 products with mobile app code spanning 18 distinct app targets across iOS, Android, watchOS, macOS, and React Native. The most mature mobile apps are LysnrAI and PeakPulse (iOS). Most Android apps and companion targets (watchOS, macOS) are scaffold-to-functional but not store-ready.
Ecosystem-wide mobile readiness: ~58%
1. Product Readiness Scorecard
| # | Product | iOS | Android | watchOS | macOS | RN/Expo | Overall | Store-Ready? |
|---|---|---|---|---|---|---|---|---|
| 1 | LysnrAI | 82% | 65% | — | — | — | 74% | iOS: Near |
| 2 | MindLyst | 55% | 40% | — | — | — | 48% | No |
| 3 | ChronoMind | 78% | 60% | 25% | 30% | — | 58% | No |
| 4 | JarvisJr | 72% | 55% | 25% | 30% | — | 52% | No |
| 5 | NomGap | — | — | 35% | — | 70% | 62% | No |
| 6 | PeakPulse | 85% | — | 20% | — | — | 65% | iOS: Near |
| 7 | ByteLyst Auth | 50% | 45% | 15% | — | — | 40% | No |
| 8 | NoteLett | — | — | — | — | 45% | 45% | No |
| 9 | FlowMonk | — | — | — | — | 50% | 50% | No |
2. Detailed Per-Product Breakdown
2.1 LysnrAI — Overall: 74%
Stack: Native Swift/SwiftUI (iOS) + Native Kotlin/Compose (Android)
iOS (82%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 90% | 42 Swift files. Full app: auth, dictation, history, settings, calendar, cloud sync, speech routing, voice commands, LLM cleanup |
| Platform SDK | 95% | 9 Platform/ wrappers (Keychain, Telemetry, Auth, FeatureFlags, KillSwitch, Blob, License, Biometric, Audit) |
| Keyboard extension | 85% | LysnrKeyboard target with KeyboardViewController + VoiceCommands. Azure STT integrated |
| Tests | 60% | 5 XCTest files (Audio, KeyboardVoiceCommands, Logger, Telemetry, VoiceCommands) |
| Build verified | YES | Compiles via xcodebuild |
| Store assets | 90% | Full icon set (all sizes), screenshots (iOS + Android), feature graphic |
| Entitlements | YES | App Groups, Keychain sharing |
| Siri/Intents | YES | StartDictationIntent |
Gaps to 100%:
- More XCTest coverage (target: 15+ test files)
- TestFlight distribution pipeline tested end-to-end
- Privacy manifest (PrivacyInfo.xcprivacy) for App Store
- Onboarding flow for first launch
Android (65%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 75% | 32 Kotlin files. Full screens: nav, auth, dictation, history, settings. Room DB, Hilt DI, speech routing, sync |
| Platform SDK | 70% | kotlin-platform-sdk via includeBuild. Config + PlatformModule wired |
| Keyboard extension | 70% | LysnrInputMethodService exists but less mature than iOS |
| Tests | 55% | 7 unit tests + 2 e2e instrumented tests |
| Build verified | YES | compileDebugKotlin passes |
| Store assets | 80% | Android icons + screenshots in assets/store/ |
| Widget | YES | LysnrWidget (Glance) |
| Notifications | YES | LysnrNotificationService (Firebase) |
Gaps to 100%:
- More test coverage (target: 15+ test files)
- Firebase google-services.json setup
- Play Store listing metadata (description, categories)
- Adaptive icon foreground/background verified on device
- ProGuard/R8 rules for release build
- Keyboard extension feature parity with iOS
2.2 MindLyst — Overall: 48%
Stack: KMP shared (19 Kotlin files) + SwiftUI (iOS) + Compose (Android)
KMP Shared Module (65%)
| Dimension | Score | Detail |
|---|---|---|
| Business logic | 70% | 9 repositories (Triage, Brain, Memory, Streak, Notification, BrainInsight, Reflection, DailyBrief, ShareCard) |
| Models | 75% | Models.kt with Brain, MemoryItem, TriageResult |
| ViewModels | 50% | HomeViewModel + TriageViewModel only |
| API clients | 60% | OpenAIClient + PlatformApiClient + PlatformSyncManager |
| DI | YES | Koin SharedModule |
| Build verified | YES | :shared:compileKotlinIosSimulatorArm64 passes |
iOS (55%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 60% | 29 Swift files. 4 screens (Home, Capture, BrainDetail, Settings) + Login |
| Platform SDK | 80% | 7 Platform/ wrappers (Config, Keychain, Telemetry, Auth, FeatureFlags, KillSwitch, CrashReporter) |
| Components | 40% | CaptureOrb + BrainChipAndTriageCard only |
| Services | 50% | VoiceCaptureService, AzureSpeechTranscriber, PlatformServiceClient |
| Tests | 15% | 1 test file (MindLystBrainTests) |
| Extensions | 20% | ShareExtension (stub), Widget (stub) |
| Store assets | 0% | No icons, screenshots, or store metadata |
Gaps to 100%:
- 6+ more screens needed (Onboarding, Reflection, DailyBrief, Metrics, BrainPacks, Challenge)
- Widget and ShareExtension are stubs — need implementation
- Test coverage (target: 10+ test files)
- Store assets (icons, screenshots, feature graphic)
- Xcode project needs manual setup (no XcodeGen project.yml)
- Navigation needs completion (MainTabView exists but limited tabs)
Android (40%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 40% | 12 Kotlin files. MainActivity + Login + 2 UI components only |
| Platform SDK | 60% | Config + PlatformModule (Koin). Auth migrated to BLAuthClient |
| Screens | 15% | No dedicated screen files beyond MainActivity composition |
| Tests | 0% | No Android test files |
| Store assets | 0% | No icons or store metadata |
Gaps to 100%:
- All screens need implementation (Dashboard, Capture, BrainDetail, Settings, etc.)
- Room database for local persistence
- Test suite (target: 10+ test files)
- Store assets
- Notifications
- Widget (Glance)
2.3 ChronoMind — Overall: 58%
Stack: Native Swift/SwiftUI (iOS) + Native Kotlin/Compose (Android) + watchOS + macOS
iOS (78%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 85% | 44+ Swift files. Rich feature set: timer engine, cascade, urgency, NL parser, routines, gamification, haptics, location, calendar, sleep, wellness, sharing, reschedule |
| Platform SDK | 80% | Cloud/ wrappers (Config, Keychain, Telemetry, Auth, FeatureFlags, KillSwitch, PlatformSync, CloudKit) + Diagnostics/CrashReporter |
| Tests | 75% | 8 XCTest files (129 tests): Cascade, Format, TimerEngine, Urgency, Accessibility, Gamification, Reschedule, SharedTimerData |
| Views | 80% | Full view hierarchy: Components (5), CreateTimer, Focus, Gamification (5) |
| LiveActivity | YES | TimerActivityAttributes for Dynamic Island |
| Siri | YES | TimerAppIntents |
| Widgets | YES | 3 widgets (NextTimer, TimerList, LockScreen) |
| Build verified | YES | xcodebuild passes |
| Store assets | 0% | No icons or screenshots |
Gaps to 100%:
- Store assets (icons, screenshots)
- Privacy manifest
- Onboarding flow
- Settings view (exists in Android but not in iOS file list — may be in Views/)
Android (60%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 65% | 29 Kotlin files. Engine, Room DB, Hilt DI, 5 screens (Timeline, Focus, History, Routine, Settings), sync, calendar, notifications |
| Platform SDK | 70% | Config + PlatformModule via kotlin-platform-sdk |
| Tests | 20% | 1 test file (TimerEngineTest) — 30 tests |
| Widget | YES | TimerWidget (Glance) |
| Services | YES | ForegroundService, QuickSettingsTile, AlarmManager |
| Build verified | YES | compileDebugKotlin passes |
| Wear OS | 10% | WearMainActivity stub only |
| Store assets | 0% | No icons or screenshots |
Gaps to 100%:
- Test coverage (target: 10+ test files)
- Store assets
- Login screen wired to real auth
- Wear OS companion (stub only)
watchOS (25%)
| Dimension | Score | Detail |
|---|---|---|
| Code | 25% | 4 Swift files (App, ContentView, TimerView, ComplicationProvider) |
| Functionality | 20% | Basic timer display. No interaction beyond viewing |
| Complications | 25% | ComplicationProvider exists as stub |
macOS (30%)
| Dimension | Score | Detail |
|---|---|---|
| Code | 30% | 5 Swift files (App, MenuBarPopover, MacTimerStore, MacSettingsView, Views/) |
| Functionality | 25% | Menu bar popover, local timer store. Not wired to main app data |
2.4 JarvisJr — Overall: 52%
Stack: Native Swift/SwiftUI (iOS) + Native Kotlin/Compose (Android) + watchOS + macOS
iOS (72%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 80% | 45+ Swift files. Dashboard, Agent builder, Session (live, history, summary), Progress, Store, Settings. Voice engine, memory manager, prompt builder, artifact extractor |
| Platform SDK | 85% | 7 Platform/ wrappers (Config, Keychain, Telemetry, Auth, FeatureFlags, KillSwitch, CrashReporter) |
| Shared/ engine | 80% | Engine (5), Models (3), Store (3), Voice (3), Cloud, Notifications, Accessibility, AppGroup, Theme |
| Components | 70% | 7 components (AgentCard, AddAgent, ProgressRing, SessionRow, ShareCard, StreakBadge, WaveformView) |
| Tests | 10% | 1 test file (JarvisJrTests.swift) |
| Build verified | YES | xcodebuild passes |
| Store assets | 0% | No icons or screenshots |
Gaps to 100%:
- Test coverage (target: 15+ test files — engine, voice, memory, store)
- Store assets
- OpenAI Realtime API integration (voice sessions are stub)
- Privacy manifest
- Onboarding flow
Android (55%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 60% | 26 Kotlin files. 6 screens, Room DB (Agent + Session), Hilt DI, engine, voice stub, notifications |
| Platform SDK | 60% | Config + PlatformModule |
| Tests | 15% | 1 test file (ModelsTest) — 30 JUnit5 tests |
| Build verified | YES | compileDebugKotlin passes |
| Wear OS | 10% | WearMainActivity stub |
| Store assets | 0% | No icons or screenshots |
Gaps to 100%:
- Test coverage (target: 10+ test files)
- Store assets
- Voice session implementation
- Widget
watchOS (25%) — QuickSession + Complications stubs (5 files)
macOS (30%) — Menu bar app (4 files), basic agent store + settings
2.5 NomGap — Overall: 62%
Stack: React Native (Expo SDK 55) + watchOS companion (Swift)
React Native / Expo (70%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 80% | 109+ TS/TSX files. Full feature set: fasting timer, body viz (Skia), protocols, coaching, gamification, safety, social, meals, hydration, insights |
| Screens | 85% | 5 tabs + onboarding + meal-log. Screens: Fast, Journey, Social, Learn, Profile, Protocol |
| Lib/engine | 90% | 20+ pure engine modules (timer, stages, science, safety, gamification, organ-data, molecule-flows, etc.) |
| API clients | 80% | 10 API modules (auth, billing, blob, fasting, meal, push, social, config, client, index) |
| Tests | 75% | 18 test files, 505 tests |
| Platform SDK | 60% | @bytelyst/feature-flag-client, kill-switch-client, platform-client, offline-queue wired |
| Store assets | 50% | Expo icon assets (favicon, adaptive icons) but no App/Play Store screenshots |
| Build verified | PARTIAL | TypeScript compiles. Expo build not verified end-to-end |
Gaps to 100%:
- EAS Build pipeline (Expo Application Services)
- App Store / Play Store screenshots
- Push notifications (expo-notifications wired but not tested with real push)
- HealthKit integration (hook exists but needs native module)
- @bytelyst/react-auth wired in app layout
- Deep linking / universal links
- Privacy policy / Terms page in app
watchOS Companion (35%)
| Dimension | Score | Detail |
|---|---|---|
| Code | 40% | 9 Swift files: App, ContentView, FastingTimerView, HydrationView, StatsView, WatchSessionManager, ComplicationProvider + 2 Shared |
| Functionality | 30% | Views exist but WatchConnectivity not proven end-to-end |
iOS Native Extensions (40%)
| Dimension | Score | Detail |
|---|---|---|
| Widgets | 45% | 6 Swift files: LiveActivity, LockScreen, Medium, Timer, WidgetBundle |
| Siri | 30% | NomGapShortcuts.swift exists |
| Integration | 20% | Expo plugins exist (withAndroidWidget, withWatchApp, withWidgetExtension) but unverified |
Gaps to 100%:
- watchOS ↔ React Native WatchConnectivity bridge
- Widget data flow from Expo to native WidgetKit
- Siri Shortcuts wired to Expo
- Android Glance widget integration (files exist in android-extensions/)
2.6 PeakPulse — Overall: 65%
Stack: Native Swift/SwiftUI (iOS only) + watchOS
iOS (85%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 90% | 45+ Swift files. Full MVVM: 5 ViewModels, 17 Services (Location, Altimeter, Haptics, Motion, SessionRecorder, Persistence, SkiIntelligence, HikerIntelligence, Export, GPXImport, Weather, Safety, Goals, Gamification, LiveActivity, HealthKit, Geocoding) |
| Platform SDK | 90% | 8 Platform/ wrappers (Config, Keychain, Telemetry, Auth, FeatureFlags, KillSwitch, CrashReporter, Diagnostics, PlatformSync) |
| Models | 90% | 5 model files (ActivitySession SwiftData, TrackPoint, HapticEvent, ActivityType, Units) |
| Views | 85% | 8 main views + 17 components |
| Tests | 85% | 16 XCTest files — comprehensive coverage of all services |
| LiveActivity | YES | Dynamic Island + Lock Screen |
| Siri | YES | PeakPulseShortcuts |
| Widgets | YES | 3 widgets (RecentSession, Streak, QuickStart) |
| Build verified | YES | xcodebuild passes |
| Onboarding | YES | OnboardingView (4-page flow) |
| Store assets | 0% | No icons or screenshots |
Gaps to 100%:
- Store assets (icons, screenshots, feature graphic)
- Privacy manifest (HealthKit, Location usage descriptions)
- TestFlight pipeline
- No Android app planned (iOS-only product)
watchOS (20%)
| Dimension | Score | Detail |
|---|---|---|
| Code | 20% | 2 Swift files: App + ContentView (minimal stubs) |
| Functionality | 15% | Basic shell, no sensor integration |
Gaps to 100%:
- CoreLocation + CMAltimeter on watchOS
- Workout session with HealthKit
- iPhone ↔ Watch data sync via WCSession
- Complications
2.7 ByteLyst Auth — Overall: 40%
Stack: Native Swift/SwiftUI (iOS) + Kotlin/Compose (Android) + watchOS + App Clip
iOS (50%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 55% | 14 Swift files. 7 screens: Dashboard, Approvals, TOTP, Devices, MFA Settings, QR Scan, Settings |
| Platform SDK | 30% | No Platform/ wrapper directory — relies directly on BLAuthClient/BLAuthUI from SDK |
| Tests | 0% | No test files |
| Widgets | 30% | TotpWidget.swift exists |
| App Clip | 20% | ByteLystAuthClipApp.swift stub |
| Build verified | NO | Depends on ByteLystPlatformSDK (SPM local path) — not independently verified |
| Store assets | 0% | None |
Android (45%)
| Dimension | Score | Detail |
|---|---|---|
| Code completeness | 50% | 17 Kotlin files. Tabs: Dashboard, Codes, Approvals, Devices, Settings, QR Scan. MFA settings, notifications |
| Platform SDK | 40% | AppConfig exists but no kotlin-platform-sdk includeBuild |
| TOTP | YES | TotpGenerator.kt |
| Widget | 30% | TotpGlanceWidget.kt |
| Tests | 0% | No test files |
| Build verified | NO | Depends on kotlin-platform-sdk includeBuild — not independently verified |
| Store assets | 0% | None |
watchOS (15%)
| Dimension | Score | Detail |
|---|---|---|
| Code | 15% | 2 files: App + ContentView |
| Push MFA | 0% | Designed for push approve/deny but not implemented |
Gaps to 100%:
- Both platforms: test suites (0 tests currently)
- Both platforms: store assets
- iOS: BLAuthUI integration (screens reference it but SDK not verified)
- Android: kotlin-platform-sdk wiring
- watchOS: push MFA approve/deny
- App Clip: QR code scanning implementation
- TOTP widget data flow (Keychain → WidgetKit / Glance)
- Depends on SmartAuth Phase 2+ backend features (many not built yet)
2.8 NoteLett — Overall: 45%
Stack: React Native (Expo) + TypeScript
| Dimension | Score | Detail |
|---|---|---|
| Screens | 55% | 4-tab navigator (Home, Inbox, Capture, Search) + Auth + Note detail. 9 screen files |
| API clients | 70% | 6 API files (auth, client, config, notes, workspaces, note-agent-actions) |
| Stores | 65% | 5 Zustand stores (auth, inbox, notes, workspace, mmkv-storage) |
| Platform SDK | 60% | platform.ts wired (telemetry, flags, kill-switch, blob) |
| Tests | 50% | 4 test files (auth-store, inbox-store, notes-store, workspace-store) — 23 tests |
| Theme | 40% | colors.ts + index.ts but limited token coverage |
| Offline | 40% | offline-queue.ts exists |
| Build verified | PARTIAL | TypeScript compiles |
| Store assets | 0% | None |
Gaps to 100%:
- More screens (Settings, Workspaces list, Saved views, Reviews)
- Rich text editor for notes
- Push notifications
- Offline sync with conflict resolution
- EAS Build pipeline
- Store assets
- Deep linking
2.9 FlowMonk — Overall: 50%
Stack: React Native (Expo) + TypeScript
| Dimension | Score | Detail |
|---|---|---|
| Screens | 65% | 9 screens: Dashboard, Capture, Schedule, Tasks, Flows, Urgent, Recommendations, Login, Layout |
| API client | 60% | api.ts (typed fetch), types.ts, product-config.ts, clients.ts |
| Offline | 50% | offline-sync.ts + storage.ts |
| Tests | 40% | 5 test files (api, offline-sync, 3 screen tests) |
| Platform SDK | 50% | clients.ts references @bytelyst/* but limited integration |
| Build verified | PARTIAL | TypeScript compiles |
| Store assets | 0% | None |
Gaps to 100%:
- Zustand stores (currently no state management layer)
- Settings screen
- Push notifications
- EAS Build pipeline
- Store assets
- More test coverage
- Theme tokens (no design system integration)
3. Cross-Cutting Gap Analysis
3.1 Store Readiness
| Product | iOS Icons | Android Icons | Screenshots | Store Metadata | Privacy Policy |
|---|---|---|---|---|---|
| LysnrAI | YES | YES | YES | Partial | YES (web) |
| MindLyst | NO | NO | NO | NO | NO |
| ChronoMind | NO | NO | NO | NO | YES (web) |
| JarvisJr | NO | NO | NO | NO | YES (web) |
| NomGap | Expo only | Expo only | NO | NO | NO |
| PeakPulse | NO | N/A | NO | NO | NO |
| Auth App | NO | NO | NO | NO | NO |
| NoteLett | NO | N/A | NO | NO | NO |
| FlowMonk | NO | N/A | NO | NO | NO |
Only LysnrAI has store assets. All other products need icon generation + screenshots.
3.2 Platform SDK Integration
| Product | iOS SDK Wrappers | Android SDK (kotlin) | React Native SDK |
|---|---|---|---|
| LysnrAI | 9/13 (95%) | Via PlatformModule (70%) | N/A |
| MindLyst | 7/13 (80%) | Via PlatformModule (60%) | N/A |
| ChronoMind | 8/13 (80%) | Via PlatformModule (70%) | N/A |
| JarvisJr | 7/13 (85%) | Via PlatformModule (60%) | N/A |
| NomGap | N/A | N/A | 4/8 TS pkgs (60%) |
| PeakPulse | 8/13 (90%) | N/A | N/A |
| Auth App | 0/13 (30%*) | 0 (40%*) | N/A |
| NoteLett | N/A | N/A | 4/8 TS pkgs (60%) |
| FlowMonk | N/A | N/A | 3/8 TS pkgs (50%) |
*Auth App uses BLAuthClient/BLAuthUI directly, not thin wrappers
3.3 Test Coverage
| Product | iOS Tests | Android Tests | RN/Expo Tests | Total Mobile Tests |
|---|---|---|---|---|
| LysnrAI | 5 files | 7 files + 2 e2e | N/A | ~14 |
| MindLyst | 1 file | 0 files | N/A | 1 |
| ChronoMind | 8 files (129) | 1 file (30) | N/A | 159 |
| JarvisJr | 1 file | 1 file (30) | N/A | ~35 |
| NomGap | N/A | N/A | 18 files (505) | 505 |
| PeakPulse | 16 files | N/A | N/A | ~80+ |
| Auth App | 0 files | 0 files | N/A | 0 |
| NoteLett | N/A | N/A | 4 files (23) | 23 |
| FlowMonk | N/A | N/A | 5 files | ~15 |
3.4 Build Verification Status
| Product | iOS Build | Android Build | RN Build | Watch Build | Mac Build |
|---|---|---|---|---|---|
| LysnrAI | YES | YES | N/A | N/A | N/A |
| MindLyst | YES (KMP) | YES (APK) | N/A | N/A | N/A |
| ChronoMind | YES | YES | N/A | Untested | Untested |
| JarvisJr | YES | YES | N/A | Untested | Untested |
| NomGap | N/A | N/A | Partial | Untested | N/A |
| PeakPulse | YES | N/A | N/A | Untested | N/A |
| Auth App | Untested | Untested | N/A | Untested | N/A |
| NoteLett | N/A | N/A | Partial | N/A | N/A |
| FlowMonk | N/A | N/A | Partial | N/A | N/A |
4. Priority Action Plan — Path to 100%
Tier 1: Nearest to Store-Ready (2-3 weeks each)
| # | Action | Product | Impact |
|---|---|---|---|
| 1 | Generate store assets (icons + screenshots) | PeakPulse iOS | 85% → 95% |
| 2 | Privacy manifest + TestFlight pipeline | PeakPulse iOS | 95% → 100% |
| 3 | Add onboarding flow + privacy manifest | LysnrAI iOS | 82% → 92% |
| 4 | TestFlight pipeline | LysnrAI iOS | 92% → 100% |
| 5 | Firebase setup + store listing | LysnrAI Android | 65% → 80% |
Tier 2: Get to Beta-Quality (4-6 weeks each)
| # | Action | Product | Impact |
|---|---|---|---|
| 6 | Store assets + test coverage + settings view | ChronoMind iOS | 78% → 90% |
| 7 | Test coverage + store assets | ChronoMind Android | 60% → 75% |
| 8 | Test coverage + voice integration + store assets | JarvisJr iOS | 72% → 85% |
| 9 | EAS Build pipeline + store assets | NomGap RN | 70% → 85% |
Tier 3: Scaffold → Functional (6-10 weeks each)
| # | Action | Product | Impact |
|---|---|---|---|
| 10 | Complete 6 missing screens + tests + store assets | MindLyst iOS | 55% → 75% |
| 11 | All screens from scratch + Room DB + tests | MindLyst Android | 40% → 65% |
| 12 | Remaining screens + state management + tests | FlowMonk RN | 50% → 70% |
| 13 | More screens + editor + tests | NoteLett RN | 45% → 65% |
Tier 4: Depends on Backend (10+ weeks)
| # | Action | Product | Impact |
|---|---|---|---|
| 14 | SmartAuth Phase 2+ backend, then app screens | Auth App iOS | 50% → 75% |
| 15 | SmartAuth Phase 2+ backend, then app screens | Auth App Android | 45% → 70% |
Tier 5: Companion Targets (Low Priority)
| # | Action | Product | Impact |
|---|---|---|---|
| 16 | watchOS timer display + complications | ChronoMind Watch | 25% → 60% |
| 17 | watchOS quick session + complications | JarvisJr Watch | 25% → 60% |
| 18 | watchOS sensor integration | PeakPulse Watch | 20% → 60% |
| 19 | macOS menu bar data wiring | ChronoMind Mac | 30% → 60% |
| 20 | macOS menu bar data wiring | JarvisJr Mac | 30% → 60% |
| 21 | watchOS ↔ RN bridge | NomGap Watch | 35% → 60% |
| 22 | watchOS push MFA | Auth Watch | 15% → 50% |
| 23 | Android Glance widget integration | NomGap Android ext | 30% → 60% |
5. Effort Estimates
| Effort Level | Description | Items |
|---|---|---|
| S (1-2 days) | Store asset generation, privacy manifest | #1, #2, #3 |
| M (3-5 days) | TestFlight pipeline, Firebase setup, onboarding | #4, #5, #6 |
| L (1-2 weeks) | Test suites, screen implementations, EAS Build | #7, #8, #9, #12, #13 |
| XL (3-4 weeks) | Full screen buildout, state management, tests | #10, #11, #14, #15 |
| Ongoing | Companion targets, feature parity | #16-#23 |
6. Recommendations
-
Focus on PeakPulse iOS and LysnrAI iOS first — they're 85% and 82% respectively, closest to App Store submission. Generating store assets and adding privacy manifests gets them to 95%+.
-
Run
/generate-store-assetsworkflow for all products — this is the single biggest gap across the ecosystem (only LysnrAI has assets). -
Android apps need test investment — most have 0-1 test files. ChronoMind Android is the most feature-complete Android app and should be the first to get comprehensive tests.
-
ByteLyst Auth App is blocked on SmartAuth backend (Phase 2+ features not built). Don't invest in the auth app until platform-service auth module has TOTP, device management, and push MFA endpoints.
-
React Native apps (NomGap, FlowMonk, NoteLett) need EAS Build pipeline — none have been verified with actual device builds through Expo Application Services.
-
Companion targets (watchOS, macOS, Wear OS) are all stubs — deprioritize until primary platforms are store-ready.