# Proposal: Mobile Stack Decision (Android/iOS) Status: archived Archived: 2025-11-17 Merged PR: https://github.com/fullsizemalt/morethanadiagnosis-hub/pull/2 Authors: Platform Team Owners: Architecture Lead, Mobile Lead Created: 2025-11-17 Scope: spec Related: openspec/specs/architecture.md Summary - Decide between React Native + Expo vs Flutter for Android/iOS with full accessibility parity, strong privacy posture, and long-term maintainability. Motivation - Commit to a mobile stack that accelerates delivery while meeting a11y, compliance, and performance requirements across all features. Goals / Non‑Goals - Goals: select stack, document rationale, list enabling libraries/tooling, define migration/rollback path. - Non‑Goals: finalize design system visuals (handled in later proposals). Evaluation Criteria - Accessibility: VoiceOver/TalkBack parity; dynamic type; reduced motion; larger text support. - Performance: cold start, nav latency, list virtualization; p95 targets defined in architecture spec. - Ecosystem: first‑party support, community libs for a11y, storage, media, push, payments. - Compliance & Security: secure storage, network stack, logging redaction, crash reporting controls. - Developer Experience: CI/CD, hot reload, E2E testing, upgrade cadence. Options - React Native + Expo (with Reanimated, RN‑Skia optional, TypeScript, Detox/E2E) - Flutter (Dart, integration_test/E2E, Impeller renderer) Risks & Mitigations - Accessibility gaps → add native modules or platform adapters; enforce CI a11y gates. - Perf regressions → profiling budgets and regression tests. Rollout Plan - Pilot with Forum MVP screens; run A11y + perf checks; make decision. Test Plan - Prototype forum list/thread/post; run a11y audits; measure startup and interaction latencies. Acceptance Criteria - Decision recorded with rationale; pilot results included; sign‑off from a11y and compliance. Slash Commands - `/review areas=mobile,accessibility,security` - `/apply spec=openspec/specs/architecture.md` - `/archive link=`