The problem we designed away
Inheriting a device is not the same as importing a dependency.
The natural way for a platform like this to grow is badly. You build
the hardest product first, the regulated one, and then
every product that follows reaches into it for the shared pieces.
Within a year, a consumer wellness app transitively depends on a
regulated clinical codebase in order to reuse a baseline
calculation.
That coupling is expensive in every direction. The non-clinical
products inherit the flagship’s release cadence, dependency
surface and regulatory blast radius. The flagship acquires consumers
it was never scoped for. And where teams avoid the coupling, they
re-derive the same fairness and federation logic locally, so
the differentiating primitives fork across repositories and drift.
The fix is a dependency inversion: extract the reusable substrate
into a separately versioned library, and have every product,
including the flagship, consume it as one more
dependency.