FireFix — When the Emergency System Fails, Build a Better One Inspiration Two days before this hackathon ended, sixteen girls died in a dormitory fire in Gilgil, Nakuru County. It was 1AM. The fire broke out in a building housing 220 students. By 3AM — two hours later — 16 were dead. 79 were injured. Some jumped from windows because waiting was not an option. That same week, a fire broke out in Kangemi, Nairobi. The area MCA reported it on Facebook. Not 999. Not a dispatch center. Facebook — because that was the fastest tool available to an elected official trying to get help for his constituents. This is not a story about one bad night. From Kyanguli in 2001 (67 boys dead) to Hillside Endarasha in 2024 (21 boys dead) to Utumishi Girls in May 2026 (16 girls dead) — the same failure repeats across different counties, different decades, different governments. The problem is not that fires happen. The problem is that Kenya has no coordinated infrastructure to report them, respond to them, or track them. That is what inspired FireFix. Not a prompt. Not a theme. A real tragedy, 48 hours old, with a window of 3 to 8 minutes where better coordination would have changed the outcome. What FireFix Does FireFix is a real-time fire emergency coordination platform built for the Kenyan context — designed to work whether you have a smartphone, a feature phone, or no internet at all. The Three Interfaces
- Smartphone SOS One tap. GPS captures your exact location. Severity is selected. Alert submitted. Dispatcher notified in under 10 seconds.
- Voice Hotline (No Internet Required) Call a single number. An AI answers, extracts your location and the severity of the emergency from natural conversation, and sends the alert automatically. Works on 2G. No typing. No forms. No waiting on hold.
- USSD Fallback Dial a shortcode from any keypad phone with zero data. For the deepest rural coverage. The Dispatcher Dashboard A live map showing every active incident — location, severity, nearest unit. The dispatcher taps dispatch, the crew receives directions. Like Uber, but for fire engines. And for the first time, the person who reported the fire receives confirmation: help is coming, here is how far away, here is when it arrives. How I Built It The stack was chosen deliberately for the Kenyan infrastructure reality: Layer Technology Reason Voice AI Gemini API Natural language extraction of location + severity from phone calls SMS/USSD/Voice Africa's Talking Deep Kenyan telco integration, 2G support, USSD shortcodes Mapping OpenStreetMap + Leaflet.js Open, offline-capable, works without Google Maps billing Backend Node.js + Express Fast to prototype, real-time WebSocket support Frontend React + Tailwind Dispatcher dashboard with live incident updates Database PostgreSQL + PostGIS Geospatial queries for nearest-unit routing The Dispatch Routing Logic Finding the nearest available unit is a geospatial problem. Given a reported incident at coordinates (lat i, lon i) and a set of n available fire units at positions (lat j, lon j), we compute the Haversine distance for each unit: where r = 6 , 371 km is the Earth's mean radius. The dispatcher dashboard sorts units by d(i,j) ascending and surfaces the top 3 closest available responders in real time. AI Severity Classification When a caller reports a fire, the Gemini API classifies severity from the conversation into one of four levels: This classification drives dispatch priority and determines whether mutual aid from adjacent counties is automatically recommended. Challenges I Faced
- Building for Offline-First in a Country Where Offline is the Default The instinct when building an emergency app is to assume GPS and data. In Kenya, that assumption fails in Garissa, Marsabit, Turkana, and hundreds of other areas. Rearchitecting the flow so that the voice call is a first-class citizen — not a fallback — required rethinking the entire UX from scratch.
- Getting Location from a Phone Call Extracting a usable, geocodable location from natural speech ("I'm near the Shell petrol station after Nakumatt") is a hard NLP problem. The Gemini API handles fuzzy location extraction well, but grounding it to actual coordinates required building a prompt chain that cross-references landmarks against OpenStreetMap data. It works — but it took most of a night to get right.
- False Report Prevention Without Alienating Real Reporters Friction kills emergency reporting. Every extra step loses real reports. But zero friction invites abuse. The solution was three layers that happen invisibly: GPS verification, AI anomaly detection on repeated reports from the same number, and keeping a human dispatcher in the final dispatch decision. FireFix improves information quality — it does not automate the life-or-death call.
- The Weight of Building Something That Matters This one is harder to put in a technical writeup. When you are building something inspired by 16 real deaths that happened 48 hours ago, the stakes feel different. Every architectural shortcut felt wrong. Every "we'll fix that later" felt irresponsible. That tension — between shipping something working and building something worthy of the problem — was the hardest part of the entire build. What I Learned Timing is infrastructure. The 3-to-8 minute window between fire report and first water on the fire is not just a dramatic statistic — it is the product specification. Every feature either shrinks that window or it doesn't belong in the MVP. Kenya's telco ecosystem is genuinely world-class for this use case. Africa's Talking gives you USSD, SMS, and voice APIs that reach every corner of the country. The constraint is not technology — it is the coordination layer on top of it. That is exactly the gap FireFix fills. Government procurement is a feature, not a bug. The business model depends on county government SaaS contracts. The 12–18 month procurement cycle is real, but so is the budget line for emergency services. We are not asking counties to invent a new budget category — we are replacing spreadsheets and Facebook posts with a platform. A working demo beats a perfect pitch. The prototype exists. The integrations are live. That changed every conversation we had during the hackathon. What's Next Pilot with 2 counties — 6 months, no cost, full data access. Prove response time improvement with real numbers. Convert to paid contracts — KES 150,000–500,000/month per county depending on population and incident volume. National integration — FireFix as the data layer for the National Disaster Operations Centre. FireFix Pro — building-level emergency plans for schools, hospitals, and factories. Every dormitory in Kenya with a direct alert button. "Sixteen girls died in Gilgil two days ago. The investigation will take months. The report will recommend better safety protocols. A committee will be formed. And in 2027 or 2028, another fire will happen and another 16 people will die because nothing changed fast enough. FireFix is not a committee. It is not a report. It is working software that any Kenyan can use today to get help faster than any system currently available. We are not asking you to fund a dream. We are asking you to help us deploy something that already works — before the next fire starts."
Log in or sign up for Devpost to join the conversation.