SYS.01 — THE TAX
Shipping the same product to iOS, Android and web from three codebases is a monthly tax: every fix paid three times, every release tripled. FernHealth’s migration was not about elegance; it was about stopping the bleeding.
SYS.02 — WHAT SURVIVED
The migration kept the domain logic, the API contracts and the design language. What it retired was duplication — three onboarding flows became one, three release pipelines became one, and the platform-specific hacks that had accumulated got named and removed.
SYS.03 — WHAT I’D DO DIFFERENTLY
I would move the feature-flag system earlier. Phased rollout is what makes a unified codebase safe; without it, “one codebase” just means one place for the blast radius to start.