Inspiration
Natural disasters affect over 200 million people annually, yet disaster response coordination remains painfully manual. When a crisis hits, emergency teams scramble across disconnected systems — checking weather feeds here, updating shelter databases there, manually cross-referencing resource availability. Critical minutes are lost to chaos.
The 2024 Turkey–Syria earthquake response highlighted this gap — aid organizations had data but couldn't connect it fast enough to save lives. CrisisCompass was born from this frustration: what if AI agents could do in seconds what takes humans hours?
What It Does
CrisisCompass is a multi-agent AI disaster response system powered by Elastic Agent Builder and Elasticsearch. It deploys four specialized agents:
- 🔍 Monitor Agent — Ingests real-time disaster feeds (earthquakes, floods, severe weather) and detects emerging threats using ES|QL time-series analysis
- 🚨 Triage Agent — Assesses severity by comparing with historical disaster patterns, predicts impact, and assigns priority levels
- 📦 Resource Agent — Matches available resources (shelters, hospitals, supplies) to affected areas using geo-aware Elasticsearch queries
- 📢 Advisory Agent — Auto-generates public safety advisories, evacuation recommendations, and situation reports
In testing, we ingested 662 real-time USGS earthquake events, 65 emergency resources across 17 cities, and 37 historical disaster records. We also built a live dashboard with an interactive Leaflet.js map showing disaster locations, severity-coded markers, and resource capacity — giving responders a visual command center alongside the AI agents.
Result: What normally takes 3–4 hours of manual coordination is reduced to under 5 minutes.
How We Built It
- Elastic Agent Builder for creating and orchestrating all four AI agents with custom tools
- Elasticsearch as the central data store for disaster feeds, resource inventories, and historical patterns
- ES|QL for real-time anomaly detection and time-series pattern analysis
- Python + FastAPI for data ingestion pipeline and dashboard backend
- Leaflet.js for the interactive geo-aware disaster map
- Open data sources: USGS Earthquake API, OpenWeather, and synthetic resource datasets
Challenges We Faced
- Data normalization — disaster feeds from different sources use different formats, coordinate systems, and severity scales. Unifying them into a single Elasticsearch schema was the biggest hurdle
- ES|QL learning curve — LLMs sometimes confused ES|QL with standard SQL, requiring explicit query templates in agent instructions
Features We Liked
- Elastic Agent Builder's intelligent tool selection — Agents chose between Search, ES|QL, and Workflows depending on the task. This felt like real reasoning, not scripted behavior.
- Geo-aware search — Finding nearest shelters using Elasticsearch geo queries was incredibly fast and natural.
- ES|QL for pattern analysis — Time-series queries to detect unusual seismic or weather patterns were surprisingly elegant.
Built With
- elastic-agent-builder
- elastic-cloud-serverless
- elastic-workflows
- elasticsearch
- es|ql
- fastapi
- javascript
- openweather-api
- python
- react
- reliefweb-api
- usgs-earthquake-api

Log in or sign up for Devpost to join the conversation.