← All projects
Behavioral Health & Psychiatric Care

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.

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:

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:

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.

Live demo
The SwiftCode Command dispatch dashboard on an iPadSwiftCode Command
SwiftCode Command
The SwiftCode Staff responder app on an iPhoneSwiftCode Staff
SwiftCode Staff
The SwiftCode Watch code-call screen on an Apple WatchSwiftCode Watch
SwiftCode Watch
Technology
GoPostgreSQLAWS ECSSwiftAPNsRedis