Inspiration
Monthly averages hide fatal ambulance delays. A citywide average can look healthy while specific neighborhoods experience severe failures. We built ResponseWatch to give dispatch supervisors real-time visibility into response variations, delay root causes, and actionable follow-ups.
What it does
ResponseWatch tracks the elapsed time between ambulance dispatch and scene arrival to help supervisors manage operations effectively. The platform allows users to compare response performance across service zones, detect abnormal delays using log-scale Individuals and Moving Range (I–MR) control charts, and monitor the proportion of calls exceeding configurable 90th-percentile targets. Supervisors can explore recorded delay reasons—such as heavy traffic, shift handovers, or available unit shortages—and use qualitative fault-tree guides to investigate systemic failure pathways. Additionally, the interface provides tools to log live dispatches, track active calls, and assign follow-up tasks with designated owners. The system organizes workflows across three core views: Key Statistics, Dispatch Workspace, and Supporting Analysis.
How we built it
The application features a React and Vite frontend supported by a custom Python statistical engine served through a FastAPI REST API. The complete environment is packaged using Docker and hosted on Render. The underlying statistical methodology relies on a fixed baseline to distinguish normal variation from operational shifts, utilizing log-scale I–MR charts, beta-binomial predictive limits, Wilson confidence intervals, and P90 metrics. The system was validated against 56 automated statistical and API tests via GitHub Actions using three reproducible synthetic datasets containing 1,781 calls that simulate stable, deteriorating, and improving operational conditions.
Challenges and accomplishments
A major challenge was distinguishing between calls that miss operational service targets and those that are statistically unusual, as a process can consistently fail a target while remaining in statistical control. The team also had to account for baseline uncertainty to avoid false alarms, isolate open dispatches from completed metrics, and handle incomplete delay annotations or invalid timestamps. Despite these hurdles, the project successfully delivered a publicly accessible dashboard, Python library, and REST API capable of detecting intentionally introduced operational changes, backed by transparent documentation and codebooks published on GitHub.
Key takeaways and what's next
The project highlighted that predictable performance is not necessarily good performance, as targets and statistical limits answer fundamentally different questions. It also proved that raw data collection quality directly dictates analytical reliability, and that statistical signals serve as prompts for investigation rather than automated verdicts. Moving forward, the goal is to evaluate ResponseWatch using live agency data, integrate shared dispatch storage with multi-user authentication, and refine the statistical models to account for dynamic demand spikes and shift-level case mix variations.
Log in or sign up for Devpost to join the conversation.