
Real-time vitals monitoring with sub-500ms Firebase sync across iOS and Android.
Clinical staff and patients needed one mobile surface for vitals, care plans, and timely updates — without pull-to-refresh guesswork about whether a reading was stale or still uploading from a bedside device.
Flutter client, Node.js API for policy and validation, Firebase Realtime Database for sub-second fan-out to authorized clients, plus a durable backing store for history, exports, and audit-friendly reads.
Charting and Bluetooth/device-read paths had to stay responsive on iOS and Android, honor consent and role boundaries, and keep Firebase-backed sync feeling instant on congested ward Wi‑Fi with intermittent offline stretches.

Separate navigation and data scopes for clinical staff vs patients with consent gates.
API enforces business rules, PHI minimization on payloads, and integrates with org auth.
Firebase paths mirror active vitals; security rules align to user roles.
Durable store (SQL/NoSQL per deployment) retains immutable vitals history for charts and compliance exports.
Bluetooth/manual entry pipelines with retries and user-visible sync states.
iOS and Android from one Flutter codebase — shared widgets for vitals tiles and care-plan timelines while still allowing platform-specific permissions prompts for Bluetooth health peripherals.
iOS and Android from one Flutter codebase — shared widgets for vitals tiles and care-plan timelines while still allowing platform-specific permissions prompts for Bluetooth health peripherals.
Typical fan-out via Firebase Realtime Database for authorized viewers once a reading landed — fast enough that rounding discussions happened on current numbers, not cached copies from minutes ago.





Latency beat polling REST when multiple nurses watch the same bay.
Node middleware kept Firebase rules simpler by pre-validating writes against care-team membership.
Matched staffing constraints while Material/Cupertino theming kept each platform feeling native enough for clinical adoption.
We take on a small number of projects at a time. If the problem is hard, we're interested.