Go back

Hack Karnataka / Emergency response

Dispatch X

An AI-powered emergency dispatch system for individual calls, specialist routing, and city-scale alerts.

LIVE CALL

“There has been an accident near KLE Tech. Someone is hurt.”

Intent
Medical emergency
Location
Resolved
Route
MED-01
30hfrom problem to working dispatch system

Emergency intake needs a useful decision before it needs another dashboard.

Our team built Dispatch X during a 30-hour hackathon around a simple problem: a caller in distress should not have to understand an IVR tree or repeat the same emergency to multiple departments.

I worked on the agent routing and backend path that turns a natural-language call into a specialist handoff. We extended the same system to city-scale voice and SMS broadcasts with live delivery and severity monitoring.

Why we split one voice agent into four jobs.

MED

Medical

Symptoms, severity, nearby hospitals, and immediate guidance.

POL

Police

Threat context, location, escalation state, and a bounded handoff.

FIR

Fire

Incident type, nearby response services, and dispatch information.

30-hour notes

What we chose under hackathon pressure.

The architecture was shaped by a working deadline. These choices got a complete call through the system, but they also left clear follow-up work.

  1. Route before asking every question

    The first agent only identifies the emergency class and preserves context. Domain-specific prompts and tools live with the specialist agent that needs them.

  2. Persist the raw call and the analysis

    Gemini can add severity and classification, but the transcript, provider events, cost, and tool results remain available for inspection.

  3. Keep escalation visible

    WebSockets make the call observable in the dashboard, while an operator can still intervene instead of trusting an agent to close the loop alone.

100

concurrent broadcast calls with live operational state.

We added concurrent voice alerts, SMS follow-ups, and a live view of transcripts, delivery, severity, and escalation state.

One broadcast path keeps delivery, transcripts, severity, and escalation observable.

AI systems and backend engineer

I built across the agent routing, FastAPI services, emergency integrations, live call state, and the workflows connecting voice conversations to actionable dispatch information.

  • Our team started with one incoming call and built outward. I worked on the VAPI routing path, the FastAPI services behind tool calls, and the state that connects a transcript to a dispatch action.
  • I wired specialist medical, police, and fire flows to nearby-service lookup, call transfer, SMS follow-up, and the MongoDB call record.
  • I also worked on the live operational side: WebSocket updates, transcript and status handling, and the batch-broadcast path used for city-scale alerts in the demo.
FastAPIVAPIMongoDBTwilioGeminiWebSockets

Current state

Hack Karnataka 2025 winning prototype built in 30 hours

Still on my list

What I would work on next.

  1. Replace demo assumptions with explicit fallback states for every external provider and every failed transfer.
  2. Add replayable call fixtures and evaluate routing accuracy, tool use, latency, and false escalation separately.
  3. Design the operator handoff with emergency professionals before expanding the agent behavior.