This page was generated using Generative AI as an interactive demonstration of the actual conceptual proposal submitted to the Hack4Safety hackathon. SANKAT is a proposed emergency system design and has not yet been built.
A proposed USSD-based emergency communication system designed to work on every phone made since 1997 — no internet, no app, no data plan required. Conceptualized for the people that traditional emergency tools leave behind.
These are not hypothetical scenarios. These are documented failures from events that happened in Nepal in the last two years — events where a real-time coordinated dispatch system would have directly changed outcomes.
The absence of effective readiness and response resulted in the loss of lives and damage to property, crops, and critical infrastructure in the September 2024 floods.
In disaster scenarios, speed of information — where the emergency is, what type it is, how many people are affected — determines how many people survive the first hour. In 2024, 30,000 officers had this information fragmented across thousands of individual phone calls, each relaying data that was already stale by the time it arrived. A structured, real-time dispatch system changes that equation fundamentally.
Nepal's existing emergency communication infrastructure has a precise, predictable failure point: the moment data connectivity degrades. Every system in active deployment today requires either internet, a smartphone, or both. During the exact disasters they are designed for, these requirements cannot be met.
USSD — Unstructured Supplementary Service Data — operates over GSM signaling channels, not data channels. It is the same pathway used for SIM authentication and network registration. When 4G towers are overloaded, when data networks fail, when the Nepal Police App shows "No Connection" — USSD still works. It has worked reliably on the same underlying infrastructure since 1997. Nepal Telecommunications Authority has already standardized emergency shortcodes across NTC and Ncell. The protocol infrastructure exists. What was missing was a system designed to leverage it.
SANKAT is a proposed emergency communication network designed around USSD — the same technology behind balance checks and missed-call alerts on every NTC and Ncell phone in Nepal. It requires no internet, no app installation, and no data plan. A Nokia 106 purchased in Rolpa for Rs. 2,800 would work identically to an iPhone in Kathmandu.
On any NTC or Ncell phone. No internet. No app. The USSD session opens instantly over the GSM signaling channel and presents the emergency menu in under 2 seconds.
The network passes the caller's Cell ID and Location Area Code (LAC) in the USSD session header. No GPS, no permissions, no action from the user. The system maps this to approximate GPS coordinates using pre-loaded OpenCelliD data.
The emergency type is scored algorithmically. Trapped individuals and cardiac emergencies score 10. Mass casualty detection triggers if three or more alerts arrive from the same tower zone within 30 minutes.
The dispatcher sees the incident appear on a real-time map with a location circle. Severity determines queue position. The nearest available unit is assigned with one click. The unit receives an SMS with location data and case ID.
Each of the following capabilities is either entirely absent from current Nepal Police tools, or represents a fundamental architectural advance over what is currently deployed. These are not incremental improvements — they are new capabilities the system does not currently possess at all.
Operates on USSD — a GSM signaling protocol that functions when 4G, 3G, and even 2G data are unavailable. The same channel survives tower overload far longer than data connections. A Nokia feature phone with no SIM data plan can trigger a fully structured emergency dispatch with a single dial.
Every USSD session header contains the caller's Cell ID and Location Area Code. Mapped against 15,000+ pre-loaded NTC/Ncell tower records (OpenCelliD, MCC 429), this resolves to GPS coordinates in under 2 milliseconds — offline, without any action from the caller. Advanced triangulation using timing advance and neighboring cell signals can narrow accuracy to 150–400 meters in urban areas.
Registered Domestic Violence survivors receive a periodic USSD prompt disguised as a routine NTC balance notification — indistinguishable from normal telecom messages. Pressing one option confirms safety. Pressing the other sends a silent alert to the assigned officer with no sound, no visible notification, and no detectable trace on the phone. If no response is received for 48 hours, a welfare check is automatically dispatched.
Every incoming alert is automatically scored: trapped individuals and cardiac emergencies at 10, active violence at 9, fire at 8. Unacknowledged alerts gain priority over time, preventing dispatcher attention blindness during high-volume events. The system sorts the dispatch queue continuously — the most critical case is always at the top.
If three or more independent alerts arrive from the same cell tower zone within 30 minutes, the system automatically flags a potential mass casualty event, raises all affected incidents to maximum priority, and triggers a dashboard alert. This detection is automatic and instantaneous — it would take a human dispatcher several minutes to notice the same pattern under high call volume.
Dispatchers draw a geographic zone on the map. The system identifies all cell towers within that zone, finds registered users connected to those towers, and pushes an SMS evacuation order in Nepali to every phone in that area within 30 seconds. This is Nepal's first dispatcher-controlled mass emergency alert capability — the reverse of receiving a report, this is proactively pushing safety information to endangered communities.
SANKAT's USSD backbone is not limited to a single use case. The same framework that handles disaster alerts can accept structured data from any emergency type: traffic accidents, mental health crises, missing persons, criminal reporting. Any application that currently requires internet access can be wrapped in a USSD interface using this architecture, instantly providing 100% offline access to citizens who rely on basic feature phones. The platform is designed to serve as shared infrastructure — not one more isolated tool.
The following pipeline describes the proposed data flow from the moment a citizen dials *999# to the moment a dispatch unit is assigned and en route. Expected end-to-end latency from dial to dashboard update: under 4 seconds on a stable local network. The pipeline would function identically whether the caller is in Kathmandu or Pyuthan, on a smartphone or a Nokia 106, on NTC or Ncell.
When the citizen dials *999#, the request routes over the GSM signaling channel to the carrier's Visitor Location Register (VLR), which already knows the caller's Cell ID and LAC from the ongoing network registration. The Home Location Register (HLR) or Gateway Mobile Location Center (GMLC) enriches the outbound webhook payload with this tower metadata before it reaches the application server. No GPS request is made. No location permission is needed.
The payload arrives at the FastAPI /api/ussd/callback endpoint. The USSD Session Manager retrieves or creates the caller's session in Redis using the persistent session ID. The state machine parses the cumulative text string (e.g., "1*1*1" for Nepali → Emergency → Trapped) and returns the appropriate next menu screen or terminal acknowledgement. Every step re-extends the Redis session TTL, preventing timeout mid-triage.
At terminal state, the Cell ID and LAC from the webhook header are looked up in the OpenCelliD SQLite database using the compound index. The weighted centroid engine incorporates neighboring cell signal strengths to narrow the coverage estimate. The triage engine calculates the incident's priority score and runs the 30-minute sliding window check for mass casualty detection. The complete spatial and triage resolution completes in under 10 milliseconds.
The assembled emergency record — phone number, category, priority score, latitude, longitude, radius, carrier, mass casualty flag, and timestamp — is serialized to JSON and pushed into all active Server-Sent Events queues. Every connected dispatcher screen receives the update in under one second without requiring a page refresh or polling interval. If a mass casualty flag is active, a high-priority audio alert fires simultaneously on all connected dispatch stations.
The React dashboard renders the new incident as a coverage circle on the Leaflet map, color-coded by type and sized by location accuracy. The incident appears at its correct position in the priority triage queue. The dispatcher assigns the nearest available unit with one click. The unit receives an automatic SMS: location data, incident type, and case ID. The unit replies with an acknowledgement code. The dashboard logs response time and updates the incident status in real time. The entire lifecycle — from the citizen's keypress to unit dispatch acknowledgement — takes under 60 seconds.
The following comparison contrasts documented operational gaps in the current system with the proposed SANKAT capabilities that address them. The 2024 floods are used as the reference scenario because the coordination failures are publicly documented.
| Scenario | Without SANKAT | With SANKAT |
|---|---|---|
| Citizen trapped in flood zone, feature phone only | ✕ No emergency tool available. Calling 100 may not connect. | ✓ Dials *999#. Incident created. Location circle on dispatch map. Unit assigned in <60 seconds. |
| 30,000 rescue workers, no shared situational map | ✕ Coordination by individual phone calls. Fragmented, stale data. | ✓ All incidents visible on shared real-time dispatch map. Priority sorted automatically. Duplicate coverage eliminated. |
| Telecom data infrastructure destroyed mid-disaster | ✕ Nepal Police App stops functioning. No emergency tool operational. | ✓ USSD operates over signaling channels. Works when data is completely unavailable. No degradation in functionality. |
| Domestic Violence survivor cannot safely signal distress | ✕ A call can be overheard. A text leaves traces. Panic button requires internet and leaves a visible app notification. | ✓ Disguised balance-check USSD prompt. One keypress, no sound, no visible trace. Automatic welfare check if no response in 48 hours. |
| Multiple flood victims reporting from same area | ✕ Individual calls processed separately. Mass casualty pattern unrecognized until much later. | ✓ Three alerts from same tower zone in 30 minutes triggers automatic MASCAL flag. All related incidents escalated to priority 10. |
| Dam breach requiring immediate evacuation of downstream villages | ✕ Individual calls, Facebook posts, relayed messages. Uneven reach. No confirmation of receipt. | ✓ Dispatcher draws zone on map. SMS evacuation order sent to every registered phone in that tower zone in 30 seconds. |
| Victim checking status of their case after filing | ✕ No mechanism. Requires visiting station in person or calling. | ✓ Dial *999# → Option 3 → Enter case ID → SMS reply with status, assigned officer, next step. |
Without formal partnership, SANKAT can be demonstrated as a simulated environment for review. With NTA shortcode access and NTC/Ncell integration, it can become operational for every phone in Nepal. With formal Nepal Police endorsement, the dispatch dashboard can be integrated into existing command infrastructure at the district and provincial level. The technical architecture is fully mapped. The pathway to implementation requires collaboration: a shortcode allocation, a carrier gateway integration, and a deployment decision.
SANKAT was conceptualized on a single premise: no one should die because their emergency reached the wrong person, too slowly, with no location data, while 30,000 others searched by phone call. Nepal has the towers. The protocol exists. The data is available. The only thing missing is a system designed to connect them — and this proposal outlines that solution.