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

  1. 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.
  2. Geo-aware search — Finding nearest shelters using Elasticsearch geo queries was incredibly fast and natural.
  3. ES|QL for pattern analysis — Time-series queries to detect unusual seismic or weather patterns were surprisingly elegant.

Built With

Share this project:

Updates