Healthcare · Two MVP releases
A hospital field app that works without signal
Multi-tenant iOS app for clinical staff, built offline-first because the corridors it runs in have no reliable connectivity.
- Two MVP releases delivered
- 0.5 → 1.0Two MVP releases delivered
- Local writes, flush on reconnect
- Offline-firstLocal writes, flush on reconnect
- Hospital scope enforced in the token
- Multi-tenantHospital scope enforced in the token
The problem
Clinical staff needed a mobile tool that stayed usable in parts of a hospital where connectivity drops without warning, across multiple hospitals that must never see each other’s data. An on-device computer-vision component sat on the critical path but depended on a third-party SDK outside our control — the kind of dependency that quietly eats a delivery date.
What I did
I scoped the app around an offline-first architecture rather than treating connectivity as an edge case: a local write store with flush-on-reconnect, a cached catalogue, and an explicit online/offline state machine instead of scattered network checks. Tenant isolation was pushed into the auth layer so hospital scope is carried by the token rather than enforced per screen. The CV work was isolated behind a gate with a documented fallback, and I held a reserve buffer with no committed scope so an SDK slip could absorb into the plan instead of moving the release.
How it ran
- 01
Architecture and auth
Multi-tenant authentication with email one-time codes and PIN re-entry, token refresh edge cases mapped before UI work began.
- 02
Offline layer
Reachability and state machine, offline catalogue cache with a visible banner, local write store, and flush-on-reconnect.
- 03
Content and catalogue
Server-authoritative reads with caching, backed by a headless CMS so clinical content changes without an app release.
- 04
Gated CV integration
On-device computer vision integrated behind an explicit gate, with results review, user override, and a fallback path if the SDK slipped.
- 05
Hardening and release
Error contracts split into recoverable and blocking, cold-start and inference performance work, full regression, and a crash-free watch before release candidate.
Other work
All case studies →- Consumer IoT
Shipping a wearable app before the wearable existed
A child-safety product whose hardware was not ready. We built the MVP against a mocked device contract instead of waiting, and shipped without the usual collapse when real constraints arrived.
- HealthTech
Conversational onboarding for a consumer health app
A health app where the intake interview is an AI conversation rather than a twelve-page form, with scoring built on connected platform data.
- Aviation
One device, three roles, one signature
A paper handling process where a tablet passes from a ground agent to a flight captain and back. I prototyped the handover itself, because that is the moment the process either works or does not.
Something similar on your plate?
Thirty minutes, no deck. I will tell you whether it is worth doing at all.