-
App overview
-
Real-time geographical alerts (heatmaps, stubs, incidents all part of customizable layer control)
-
Quick SOS selection and AI insights, broadcast to SOS incident reports
-
Simulation of crisis situation (potential escalation and emergency response)
-
Personalized AI briefings, RTI, crisis overview, and other operational metrics
-
Timeline presenting snapshot incident information and corresponding operational metrics (as they develop over time)
Why?
One summer, my family and I visited Maui, one of the main islands of Hawaii. We explored the island’s landscapes, culture, and communities firsthand. Two months after our vacation, places like Lahaina were devastated by fast-moving wildfires.
That experience made me realize how vulnerable communities are when disasters escalate faster than emergency systems can respond. StormLink was inspired by that gap: the need for clearer real-time disaster awareness, smarter emergency coordination, and faster crisis response when every second matters.
What?
StormLink is an AI-powered disaster intelligence system that combines live National Weather Service alerts, real-time USGS earthquake feeds, SOS reports, predictive escalation modeling, offline queue simulation, and a Regional Threat Index into one operational dashboard.
Users can view live incidents on an interactive map, search locations, switch between California, U.S., and global monitoring modes, toggle disaster layers, submit SOS reports, and receive actionable AI-generated survival and responder guidance. Timelines of emergency development can also be viewed.
How?
I built StormLink with React, JavaScript, TailwindCSS, and Vite, using Leaflet/OpenStreetMap to create an interactive geospatial disaster intelligence dashboard. The platform continuously fetches live National Weather Service alerts and USGS earthquake feeds, then normalizes the incoming datasets into a unified incident schema containing location, severity, timestamps, source metadata, and estimated population exposure. This allows earthquakes, floods, severe storms, wildfires, and SOS reports to be processed within one consolidated operational system.
The map layer was designed to behave similarly to a lightweight emergency operations interface. I implemented live incident markers, clustering systems, heatmap overlays, region-based filtering, and dynamic map updates. Users can search locations, switch between California, U.S., and global monitoring modes, and filter incidents based on geographic proximity. Haversine distance calculations are used to determine nearby threats and prioritize incidents closer to the user or clustered SOS regions.
To transform raw disaster data into actionable intelligence, I implemented a weighted Regional Threat Index (RTI) model:
$$ RTI = 0.30 × Incident Severity + 0.20 × Incident Density + 0.15 × SOS Density + 0.15 × Population Exposure + 0.10 × Environmental Conditions + 0.10 × Infrastructure Failure $$
This scoring system converts fragmented real-time events into a dynamic operational risk score from 0–100. As new alerts, earthquakes, or SOS reports enter the system, the RTI updates in real time and drives regional heatmap intensity, dashboard risk levels, and escalation warnings.
To reduce visual overload during large-scale disasters, I implemented geographic aggregation and clustering logic. Nearby incidents are grouped into expandable clusters while global mode anonymizes SOS reports by aggregating them into regional densities rather than exposing exact user locations. This preserves privacy while still visualizing crisis intensity across large areas.
I also developed predictive escalation models to estimate how disasters may evolve over time. For wildfire escalation, the platform calculates projected risk using environmental conditions such as wind speed, drought intensity, humidity, and temperature:
$$ fireRisk = windSpeed × 0.35 + temperature × 0.25 + droughtIndex × 0.20 - humidity × 0.20 $$
This enables StormLink to generate projected spread warnings, escalation probabilities, and operational alerts instead of only displaying static incidents.
The SOS system functions as a lightweight AI-assisted emergency triage pipeline. Users submit emergency descriptions, which are processed through either an AI-powered NLP classifier or a local keyword-based fallback model if external AI services are unavailable. The system classifies urgency, identifies probable threat types, estimates required responder resources, generates survival recommendations, and produces structured responder guidance. Offline queue simulation was also added to model how emergency requests could persist temporarily during communication outages.
To create a more realistic operational experience, I implemented a “Live Crisis Pulse” engine that polls live feeds, detects incoming incidents, animates newly added alerts, updates regional RTI scores, generates AI operational briefings, and powers a timeline replay system that visualizes how disasters evolve over time.
Obstacles
The hardest part was making the app feel operationally realistic without overbuilding the backend. Integrating live feeds, map rendering, AI triage, RTI scoring, heatmaps, timeline replay, and offline simulation required careful state management. I also had to balance realism with privacy, especially in global mode, where SOS reports are aggregated instead of exposing exact user locations.
Accomplishments
I’m proud that StormLink evolved from a weather dashboard into a more complete disaster intelligence platform. The app now supports live crisis data, an accurate map, regional risk scoring, predictive escalation, AI emergency triage, global monitoring, and offline-ready SOS simulation. The result feels closer to an emergency operations system than a standard alert app.
Takeaways
I learned that disaster technology is not just about collecting more data. The harder problem is turning fragmented signals into clear, actionable intelligence. This project helped me work with live APIs, geospatial mapping, AI classification, asynchronous state updates, weighted scoring algorithms, and crisis-focused UX design.
What’s next
Next, I want to turn StormLink into a mobile-first app with true offline communication through Bluetooth mesh or peer-to-peer relays. I also want to add live satellite wildfire data, real evacuation routing, shelter capacity tracking, multilingual emergency support, and responder logistics tools for hospitals, shelters, and field teams.
Built With
- ai/nlp-classification
- github
- haversine-distance-calculations
- html/css
- javascript
- leaflet/openstreetmap
- national-weather-service-api
- react.js
- usgs-earthquake-api
- vercel
- vite
- weighted-regional-threat-index-scoring
Log in or sign up for Devpost to join the conversation.