Reinventing critical communication for modern healthcare.
Clinical communication and emergency response for behavioural health and skilled nursing facilities, built on Postgres as the source of truth.
- Four client surfaces from one platform: Apple Watch, iPhone, iPad and web
- Live on the Apple App Store across the three Apple surfaces
- 90 tables across 65 migrations, with delivery state enforced in SQL
- Restart-durable alert delivery with a reaper backstop
The problem
Critical care still runs on pagers and shouting. In high-acuity behavioural health, communication failures aren't an annoyance, they're a safety event. Yet most facilities still coordinate emergencies across disconnected tools built for another era: one-way paging that broadcasts to everyone and confirms nothing, phone trees that cost seconds when a code is called, and staff, command, and admin living in separate apps that never share state.
The vision
SwiftCode gives clinical teams a single, realtime record, where a panic alert, a medication check, and a compliance record all live on one auditable timeline, shared across every device in the facility. It is built for the settings where seconds are clinical: behavioural health, psychiatric care, memory care, and assisted living.
The platform
A connected ecosystem spans four surfaces from one design system and one source of truth:
- SwiftCode Watch (Apple Watch): panic and alerts on the wrist, glanceable in under a second.
- SwiftCode Staff (iPhone): the caregiver's primary surface, trigger codes, run a medication pass, and respond one-handed.
- SwiftCode Command (iPad): the station board, acknowledge, assess, and monitor every responder in real time.
- SwiftCode Admin (Web): facility-wide oversight, staffing, audit, and a compliance and risk dashboard for executives.
Five modules sit on top of that platform: incident codes, medication-safety scanning, a connected bed-exit alarm, resident and kitchen requests, and command/admin oversight.
Architecture
Every surface reads from one source of truth. Each alert, scan, and response is written as an append-only event in Postgres, the single source of truth that makes every action auditable and replayable after a dropped connection. A Fastify and Node API gateway handles auth, routing rules, and escalation timers. Realtime delivery runs over MQTT with a WebSocket fallback, so devices stay in sync as the network shifts mid-incident. Redis tracks live presence and responder state for fast reads under load, APNs push carries alerts to devices with retry and escalation, and the containerized services run on AWS.
Engineering challenges
High-stakes care demands more than a chat app. A few of the harder problems:
- Dual-transport delivery. MQTT with a WebSocket fallback keeps devices in sync as the network shifts mid-incident.
- Replayable after drops. The append-only event model lets a device rebuild its state after a dropped connection by replaying the log, rather than trusting a single in-memory copy.
- Escalation timers. Per-code escalation chains fire on timers so an acknowledgement gap gets surfaced to the next responder in the chain, with a reaper process as the backstop that catches alerts nothing else picked up.
- Immutable audit trail. Every scan, alert, and override is an append-only event, so the record is ready for a compliance review on demand.
- Wrong-patient prevention. QR and photo verification are designed to catch wrong-patient and duplicate-dose errors before they reach the bedside.
- Privacy by design. Minimum-necessary data everywhere; locked-screen copy never exposes patient identity. The design is aligned with the HIPAA Security Rule, built around the same minimum-necessary and audit-trail principles it requires, though SwiftCode is not independently HIPAA certified.
My role
SwiftCode is the clearest expression of how I work: owning the whole arc from product vision through system architecture to the engineering team that ships it. As founder and product architect I set product strategy and the technical roadmap, designed the event-driven system architecture, owned backend design and data modelling across roughly 90 tables and 65 migrations, planned the AWS infrastructure, built the multi-surface client strategy across Watch, iPhone, iPad, and Web, and led the engineering team end to end.
Technology
Frontend work runs on Next.js, React, TypeScript, and Tailwind. The backend is Fastify and Node.js in TypeScript. Realtime transport is MQTT, WebSockets, and APNs push. Data lives in PostgreSQL with Redis for cache and presence, modelled as an append-only event store. Infrastructure is AWS, Docker, and Kubernetes.


