-
-
Live ambulance fleet status with availability, crew, location, and ETA, making unit selection fast and informed.
-
Live call transcription with critical phrases highlighted and instant translation, helping dispatchers act fast across language barriers.
-
AI-assisted call review surfaces symptoms, urgency, and recommends the closest available ambulance with a clear ETA.
-
Real-time emergency calls with live transcription, AI triage, and dispatch-ready summaries—designed to reduce delays when seconds matter.
-
Interactive map showing caller location and nearby ambulances, giving dispatchers immediate geographic context.
-
Live multilingual emergency calls with AI highlighting symptoms, classifying urgency, and translating in real time for faster dispatch.
Inspiration
The national response time goal for paramedics in Canada is 8 minutes 59 seconds, for the most serious emergencies, and according to the BCHRN , in the province of British Columbia, this goal is only being met 30% of the time.
Emergency dispatchers operate in one of the most high-stakes environments imaginable. In just a few minutes, they must extract critical information from callers who may be panicked, injured, or speaking a different language, all while knowing that missing a single question (such as breathing or scene safety) can have life-or-death consequences.
We were inspired by two recurring problems in emergency response systems:
- Silent failures : critical facts are never asked or confirmed, not because of negligence, but because of time pressure and cognitive overload.
- Language and clarity barriers: callers may speak another language, describe symptoms imprecisely, or struggle to communicate while in distress.
CallScribe was built to act as a safety layer, not an automated decision-maker: a system that supports dispatchers by structuring information, surfacing what matters most, and reducing avoidable errors, without replacing human judgment.
What We Built
CallScribe is a real-time, AI-assisted emergency call intake and dispatch dashboard that:
- Transcribes emergency calls live and highlights medically critical phrases
- Supports multilingual callers with real-time translation
- Classifies urgency while explicitly labeling information as confirmed, inferred, or unknown
- Surfaces critical unknowns that must be resolved before dispatch
- Suggests the next-best question to safely move the call forward
- Generates a dispatch-ready CAD packet that can be copied directly into existing systems
- Logs overrides with reasons to support auditability, training, and trust
Importantly, every decision remains in the dispatcher’s control. The system assists by organizing information and reducing cognitive load, not by issuing commands.
How We Built It
The project was built as a modern web application with a focus on reliability, clarity, and human-centered design:
- Frontend: React + TypeScript, with a dispatcher-first UI optimized for speed and readability
- State modeling: Structured triage fields with explicit confidence states (confirmed / inferred / unknown)
- AI integration: Live speech transcription and multilingual translation, paired with rule-based triage logic for transparency
- Decision support: Deterministic, protocol-aligned logic for identifying critical unknowns and next-best questions
- Output design: Structured CAD packets to minimize manual re-entry and reduce dispatch delays
Rather than relying solely on opaque model outputs, we intentionally combined AI with rule-based systems to ensure explainability and trust in high-risk scenarios.
Challenges We Faced
One of the biggest challenges was resisting the urge to over-automate. In emergency response, confidence without certainty is dangerous. We learned quickly that a useful system must clearly communicate what it does not know, not just what it predicts.
Other challenges included:
- Designing an interface that adds value without distracting dispatchers
- Handling multilingual input while preserving nuance and urgency
- Balancing AI assistance with legal, ethical, and operational realities
- Making the system helpful even when data is incomplete or noisy
These challenges shaped CallScribe into a tool that prioritizes safety, transparency, and human oversight over raw automation.
What We Learned
We learned that impactful AI for social good isn’t about replacing people—it’s about supporting them at their limits. By focusing on missed questions, unclear information, and time pressure, CallScribe addresses real failure points in emergency dispatch systems.
Ultimately, CallScribe is less about artificial intelligence and more about augmenting human decision-making where it matters most.
Challenges We Ran Into
One of the main challenges was building and demoing real-time audio playback in a browser environment. While live transcription worked reliably across devices and browsers, audio playback proved to be much more constrained. We ultimately achieved stable playback on Google Chrome on laptops, but cross-browser and mobile playback introduced limitations that required careful handling and clear demo fallbacks.
Another challenge was integrating ETA estimation and unit availability in a way that felt realistic without overpromising accuracy. Determining the “closest available ambulance” meant balancing simplicity for a hackathon demo with logic that still reflected real dispatch considerations like availability, workload, and response time.
We also faced the ongoing challenge of refining the UI under time pressure. Dispatch dashboards must be instantly readable, so even small layout or interaction issues mattered. Iterating on spacing, hierarchy, and visual feedback was essential to ensure the interface stayed clear and usable during a live call.
Accomplishments That We’re Proud Of
We’re proud that CallScribe evolved beyond a static AI demo into something that feels operationally grounded. The system now connects call intake directly to dispatch decisions by pairing AI summaries with ETA estimates and closest-unit recommendations, making the output immediately actionable.
We’re especially proud of:
- Successfully implementing live transcription across all devices and browsers
- Getting audio playback working reliably in a production-like environment
- Adding ETA and nearest available ambulance logic that supports both immediate and delayed dispatch.
- Polishing the UI so the system is easier to scan and use under pressure.
Together, these improvements make the demo feel much closer to a real emergency dispatch workflow.
What We Learned
We learned that building for real-world, safety-critical scenarios means dealing with messy constraints, especially around browsers, devices, and real-time media. Having graceful fallbacks, like transcription continuing to work even when audio playback is limited, is crucial.
We also learned that AI becomes far more useful when it’s tied directly to decision-making context, such as unit availability and response time, rather than existing in isolation as a summary or classifier.
Finally, we learned that small UX improvements can have outsized impact in high-stress environments. Clear visuals, minimal friction, and actionable outputs matter just as much as the underlying technology, especially when every second counts.
Built With
- elevenlabs
- featherless
- gemini
- mongodb
- node.js
- typescript
Log in or sign up for Devpost to join the conversation.