Inspiration

Ambulance routing today runs on EMResource — a hospital status board updated by hand, often only every couple hours. It's a snapshot of the past treated like the present, with no way to verify it's still true. We wanted to fix the actual gap: staleness and blind trust, not just make a prettier dashboard.

What it does

ER Pulse (DivertWatch) cross-checks each hospital's self-reported diversion status against its real-time admission/discharge data to catch stale or contradicted reports, forecasts what ER capacity will look like when the ambulance actually arrives instead of showing a live snapshot, and ranks hospitals by ETA, predicted capacity, and specialty fit (trauma/stroke/cardiac certification) — with plain-English reasoning for every recommendation. For critical patients, it automatically applies the EMTALA nearest-facility rule instead of relying on a dispatcher to remember it.

How we built it

A Node/Express + Socket.io backend simulates a live hospital ADT feed and runs three real modules on top of it: a trust engine, a predictive capacity model, and a recommendation engine. A React + Leaflet frontend gives dispatchers a live map and ranked list. Backend is deployed on Render, frontend on Vercel.

Challenges we ran into

Getting the two deployed services to actually talk to each other — branch mismatches (code pushed to master while GitHub's default was main), a Docker vs. Node runtime mismatch on Render, and a CORS allowlist that didn't yet include our deployed frontend's origin. Classic "works on localhost" gauntlet, solved one log line at a time.

Accomplishments that we're proud of

A fully deployed, end-to-end working product by the end of the hackathon — not a mockup. The trust engine genuinely catches live discrepancies in our simulated data in production, and the EMTALA override behaves exactly like real protocol.

What we learned

Real regional EMS systems (EMResource, CAD boards) aren't broken because they lack data — they're broken because nothing cross-validates or forecasts with that data. Also: deployment config (branches, runtimes, CORS) eats as much hackathon time as the actual logic does.

What's next for ER Pulse

Real ADT/HIE integration with a pilot hospital system, validating trust-engine thresholds against real reporting patterns instead of simulated data, and a feedback loop that compares predicted vs. actual wait times to improve the forecasting model over time.

Share this project:

Updates

Submission history