Baritastic — two codebases became one, with nothing patients relied on changed
A bariatric-care app used daily by people managing a medical recovery. A million downloads, half a million users, running since 2018 on two separate codebases — Android in Java, iOS in Objective-C — with crash-free sessions down to 98%.
I led the consolidation onto Flutter as mobile lead, with four to five engineers. The rule we worked to was that no feature could change. Not improve, not simplify — not change. People were tracking a medical recovery in this app and a surprise is worse than an imperfection.
So we migrated screen by screen, lowest-risk first, and verified each one against the behaviour of the live app rather than against the spec — because an app running for seven years does a hundred things nobody ever wrote down. I chose the architecture, Bloc with Clean Architecture, and built the tracking features, reminders and the health-platform integrations across HealthKit, Health Connect and Samsung Health.
Crash-free sessions rose from 65% to 98%. The install dropped from 150MB to 60MB. Two codebases became one, and shipping a change stopped meaning writing it twice.
One thing I’d do differently: our staged 1% rollout didn’t account for the health-platform integrations raising the minimum OS version, which cost about 6–8% of users their health sync until we caught it. Stage by OS version, not just by percentage.




0 likes · 0 views · Oct 9, 2026
Baritastic — two codebases became one, with nothing patients relied on changed A bariatric-care app used daily by people managing a medical recovery. A milli...