Inspiration

In acute emergencies, communication friction costs lives[cite: 1]. When people are panicked or disoriented, extracting crucial details over traditional phone calls is slow, error-prone, and chaotic[cite: 1]. For individuals who are non-verbal, hearing-impaired, or in active danger where making sound is unsafe, standard voice-based emergency calls are nearly impossible[cite: 1].

We set out to bridge the critical gap between panicked callers and emergency dispatchers in real time[cite: 1]. Our goal was to create an intelligent, rapid triage and relay tool that eliminates communication bottlenecks, provides clear operational telemetry, and reduces response times during life-threatening crises[cite: 1].

What it does

PulseRelay acts as a comprehensive, end-to-end crisis intake, triage, and dispatch command platform[cite: 1]:

  • Real-Time Voice Triage & 4 Ws Extraction: Ingests live caller speech, transcribes the audio, and extracts the core "4 Ws" (What happened, Where it is, Who is involved, and Consciousness level) into structured triage reports[cite: 1].
  • Silent Pictogram Mode: Features a silent emergency reporting drawer with pictogram tiles, allowing users to report crises without uttering a word[cite: 1].
  • Dispatcher Command Console: Provides dispatchers with a real-time emergency queue sorted newest-first, detailed triage cards, and filter tabs (Active, Cleared, All, Critical, Unclear, Stable)[cite: 1].
  • Hospital Capacity Matrix: Embeds live ER, ICU, and Trauma bed availability across regional hospitals with color-coded capacity indicators (green/amber/red), allowing dispatchers to lock in target receiving facilities[cite: 1].
  • Live "Uber-Style" Vehicle Tracking: Offers callers a dedicated tracking link (/track/:incidentId) featuring an animated live map, real-time ETA countdown, and hospital destination overview[cite: 1].
  • SMS Fallback: Provides an SMS fallback modal with tracking links for low-bandwidth scenarios[cite: 1].

How we built it

PulseRelay was built using a high-performance, real-time stack[cite: 1]:

  • Frontend: Built with React and Vite, styled with a custom glassmorphism design system utilizing radial gradient meshes, glass cards, and inline SVG iconography[cite: 1].
  • Backend & APIs: Developed using FastAPI (Python) to power rapid API endpoints, triage processing, and data serialization[cite: 1].
  • Real-time Sync: Powered by WebSockets and Supabase for bidirectional, low-latency state synchronization between caller terminals and dispatcher consoles[cite: 1].
  • Mapping & Fleet Simulation: Integrated Leaflet.js and OpenStreetMap with Turf.js for geodesic waypoint interpolation and smooth marker animations[cite: 1].
  • State Persistence: Leveraged browser localStorage (pulserelay_cleared_incidents) to ensure state re-hydration for cleared cases across views[cite: 1].

Challenges we ran into

  • Geodesic Path Interpolation for Live Tracking: Smoothly animating emergency vehicle markers along realistic routes required calculating intermediate geodesic points dynamically using Turf.js[cite: 1].
  • State Re-hydration on Caller Navigation: When navigating back from the caller interface, only cleared numbers were showing rather than cleared cases[cite: 1]. We solved this by persisting full cleared incident objects to local storage rather than just raw ID counts[cite: 1].
  • Queue Inversion & Chronological Sorting: Managing queue ordering so that incoming incidents are indexed logically while sorting chronologically (newest-first) across diverse incident severity filters required custom sorting algorithms[cite: 1]: $$\text{Index}(i) = \text{Count}_{\text{filtered}} - i$$ $$\Delta t = \text{Timestamp}(b) - \text{Timestamp}(a)$$
  • PostCSS Compilation & Styling Iterations: Balancing tactical utility and UI aesthetics caused PostCSS @apply parse failures with non-standard Tailwind values[cite: 1]. We resolved this by refactoring into clean standard CSS declarations[cite: 1].

Accomplishments that we're proud of

  • End-to-End Relay Pipeline: Building a functional pipeline that captures speech or silent taps, streams structured data to dispatchers, and provides the caller with a live vehicle tracking URL[cite: 1].
  • Hospital Bed & ICU Integration: Successfully embedding a multi-facility capacity matrix to direct ambulances only to facilities with open beds[cite: 1].
  • Silent Inclusivity: Developing zero-speech pictogram workflows to ensure accessible emergency communication for all users[cite: 1].
  • Full Multi-Route Platform: Delivering a polished marketing landing page (/), caller terminal (/caller), dispatcher console (/dispatcher), and tracking interface (/track/:incidentId)[cite: 1].

What we learned

  • Simplicity Under Pressure: Emergency interfaces cannot be cluttered; visual hierarchy, readable timestamps, and single-click authorizations are vital for dispatcher efficiency[cite: 1].
  • Persistence & Resilience: Emergency systems must remain resilient to page reloads and network drops through local caching and SMS fallback mechanisms[cite: 1].

What's next for PulseRelay

  • Voice Stress & Sentiment Analysis: Incorporating acoustic panic-level detection to automatically prioritize high-distress calls in the queue[cite: 1].
  • Multilingual Speech-to-Text: Expanding speech-to-text models to support regional languages such as Tamil and Hindi[cite: 1].
  • Predictive Fleet Positioning: Integrating historical incident heatmaps to pre-position emergency fleets near high-risk zones[cite: 1].
  • Automated Family & Contact Alerts: Automatically notifying pre-configured emergency contacts with live tracking links when an incident is dispatched[cite: 1].
  • Automated Post-Incident PDF Reporting: Generating standardized incident run-sheets for hospital handovers and official records[cite: 1].

Built With

Share this project:

Updates

Submission history