ADR 0004 — One Flutter app + static web; admin later as web
Status: superseded by ADR 0007
Date: 2026-09-19
Context
Stitch has five modules. Putting all five on the App Store as separate apps would multiply signing, listings, and login. Afia’s landing is consumer-facing (patient + “your doctor in your pocket”).
Decision
| Surface | Repo | Who |
|---|---|---|
| Store iOS/Android | afia-app | Patient first; clinician as a role shell in the same binary |
| Marketing + legal | afia-web | Public; store URLs |
| Admin console | future web in afia-web or afia-admin | Staff only — not the store app |
| Imaging / lab worklist | same clinician/provider role or a later web | Not separate store apps on day one |
Flutter keeps core / data / domain / presentation. Feature folders under presentation/ follow contexts (patient, clinician, …), not Stitch screen titles.
Consequences
- One listing, one force-update (
/app-version). - Clinician UX may be cramped inside a patient-first app; a second binary can be an ADR later.
afia-webstays static until admin is built; no API calls required for store compliance pages.