Inspiration
Tampa Bay is one of the most hurricane-vulnerable regions in the country, and during a major storm the biggest challenge is rarely the lack of data. The real problem is information overload. Emergency teams have to process weather forecasts, incoming reports from residents, shelter capacity changes, road issues, and missing-person cases all at once.
We built Aegis because we wanted to explore how AI agents could help emergency response teams move faster without replacing human decision-makers. Instead of one general-purpose chatbot, we designed a coordinated system of specialized agents that each handle a specific disaster-response task: monitoring storm risk, parsing field reports, ranking emergencies, tracking resources, generating alerts, and reunifying families.
Our goal was to build something that could support the full storm lifecycle: before landfall, during active response, and after the storm when recovery begins.
What It Does
Aegis is a multi-agent disaster intelligence platform for Tampa Bay.
It supports three operational phases:
Pre-Storm
A Monitor Agent analyzes weather and flood-risk data to score neighborhoods by risk level. Then an Alert Agent turns that analysis into localized evacuation and preparedness alerts, including bilingual messaging.
Active Storm
A Field Report Agent processes raw text reports from residents or responders and extracts structured details such as location, incident type, and number of people involved. A Severity Agent then ranks those incidents by urgency. At the same time, a Resource Agent updates shelter and supply availability while the Alert Agent generates high-priority emergency alerts.
Post-Storm
A Reunification Agent compares missing-person reports with found-person or shelter check-in records using fuzzy matching, while the Resource Agent continues updating post-storm availability for shelters and aid locations.
The result is a single platform that helps responders answer questions like:
- Which neighborhoods are at highest risk right now?
- Which incidents need immediate response?
- Which shelters still have capacity?
- Are there likely matches between missing and found people?
How We Built It
We built Aegis as a full-stack system with a clear separation between orchestration, data, and visualization.
Multi-Agent Backend
The backend is built with FastAPI and uses Google ADK to orchestrate six specialized AI agents powered by Gemini. We composed the workflows using ADK's sequential and parallel agent patterns:
- Pre-storm: Monitor -> Alert
- Active storm: Field Report -> Severity -> (Resource + Alert in parallel)
- Post-storm: Reunification + Resource in parallel
This architecture let us model the real dependencies between tasks instead of forcing everything through one prompt.
Database and API
We used PostgreSQL with Supabase for persistence. Agents do not just generate text; they read from and write to structured database tables for incidents, alerts, resources, reports, and reunification matches. The backend exposes REST endpoints for the frontend dashboard and for triggering agent workflows.
Frontend Dashboard
The frontend is built with Next.js, React, Tailwind CSS, and Leaflet. It provides a storm-response dashboard where users can visualize risks, incidents, shelters, alerts, and other operational data on a live map.
Challenges We Ran Into
One of the biggest challenges was designing the agent workflow so that each agent had the right inputs at the right time.
For example, during the active-storm phase, the alert system should not generate final emergency alerts until reports are parsed and incidents are ranked. At the same time, resource updates can happen independently. That meant we had to carefully structure the pipeline to mix sequential and parallel execution.
Another major challenge was fuzzy matching for reunification. Real missing-person data is messy: names may be abbreviated, ages may be approximate, and descriptions may be incomplete. We had to design prompts and scoring logic that could still produce useful confidence-based matches.
We also had to ensure that the system was not just "AI output in a demo," but a real application with persistent state, API contracts, and a frontend consuming live data from the backend.
What We Learned
We learned that multi-agent systems become much more useful when every agent has a narrow responsibility and writes structured output that the next part of the system can trust.
We also learned that orchestration matters just as much as prompting. The biggest breakthrough in this project was not just using AI, but using multiple coordinated AI agents with different roles across the full disaster lifecycle.
On the engineering side, we learned how to:
- use Google ADK to compose multi-agent workflows
- connect LLM-driven logic to a real FastAPI + PostgreSQL backend
- design a frontend dashboard that surfaces AI-generated insights in a practical way
- think more carefully about reliability, explainability, and auditability in disaster-response tooling
Accomplishments We're Proud Of
- Building a system that covers pre-storm, active-storm, and post-storm operations instead of only one narrow use case
- Orchestrating 6 specialized Gemini-powered agents in a single platform
- Creating a reunification workflow that can match likely missing/found records with confidence scoring
- Connecting the backend to a modern interactive frontend dashboard for real-time visualization
- Designing Aegis around a real regional problem in Tampa Bay, rather than building a generic AI demo
What's Next for Aegis
We see several directions to take Aegis beyond the hackathon:
- integrate live NOAA and local emergency data feeds
- support two-way SMS so residents can submit reports and receive alerts directly (this need business verification so cannot be done at this stage)
- improve geospatial routing for nearest safe shelter recommendations
- pilot the system with more realistic disaster simulation and responder workflows
Aegis started as a hackathon project, but we believe the core idea has real potential: using coordinated AI agents to reduce chaos when every minute matters.
Built With
- fastapi
- gemini
- google-adk
- leaflet.js
- next.js
- postgresql
- pydantic
- python
- react
- supabase
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.