Inspiration

BayShield was inspired by a simple but urgent problem: during hurricanes and severe weather events, communities do not just need more data, they need faster and clearer decisions. Public weather feeds, emergency alerts, shelter capacity, and evacuation planning often live in separate systems, which slows response during critical moments. We wanted to build a unified AI-powered command center that could turn live storm data into coordinated action for emergency managers and vulnerable communities in Tampa Bay.

What it does

BayShield is a real-time, multi-agent disaster response platform built for the Tampa Bay region. It monitors live NOAA and NWS data, identifies emerging threats, maps vulnerable zones, tracks shelters and emergency resources, and generates prioritized evacuation and response plans.

The platform runs in two modes:

  • Live mode uses real public weather and alert feeds refreshed every two minutes.
  • Simulation mode runs a full Hurricane Helena Category 4 scenario for demos, training, and stress testing.

Four specialist agents power the system:

  • Storm Watcher monitors live weather threats.
  • Vulnerability Mapper identifies at-risk communities.
  • Resource Coordinator tracks shelters, depots, and routes.
  • Alert Commander generates action plans and self-corrects when inconsistencies appear.

How we built it

We built BayShield as a React 19 and TypeScript application using a multi-agent architecture inspired by Agent-to-Agent communication patterns. The frontend was developed with Vite, Tailwind CSS, shadcn/ui, Framer Motion, and Recharts to create a responsive command dashboard with live visual updates.

For live intelligence, BayShield consumes public NOAA NWS APIs and NHC RSS feeds directly, requiring no API keys. The platform fetches weather observations, active alerts, forecast data, and tropical storm data in parallel, then computes a threat level from those signals.

We also built a custom evacuation routing engine using the Google Maps Directions API. It compares routes to multiple shelters at once, accounts for live traffic, flood zones, and shelter capacity, and produces a ranked safety score for each evacuation option.

Challenges we ran into

One of the biggest challenges was combining multiple live public data sources into a single reliable system. Government APIs can have different response formats, refresh cycles, and occasional failures, so we had to make the app resilient enough that one failing source would not break the whole platform.

Another challenge was designing the multi-agent workflow so each agent had a clear responsibility while still passing useful outputs to the next stage. We also had to balance real-time usability with simulation depth, making sure the platform worked both as a live decision-support tool and as a compelling demo environment.

The evacuation engine was also technically challenging because it needed to blend route optimization, traffic conditions, FEMA flood zone exposure, and shelter capacity into one understandable recommendation.

Accomplishments that we're proud of

We are proud that BayShield does more than visualize weather. It transforms live environmental data into actionable emergency response plans. The system gives users a full command center experience with live dashboards, inter-agent communication logs, infrastructure risk predictions, and route-based evacuation recommendations.

We are also proud of the multi-agent design itself. Each agent has a distinct role, and the Alert Commander can self-correct when logical issues are detected, which makes the system feel more intelligent and realistic.

Finally, we are proud that the experience is both technically robust and easy to understand. The live ticker, threat map, confidence bars, and resource panels make complex emergency data accessible in a high-pressure context.

What we learned

We learned that building for emergency response is not just about data accuracy, but also about clarity, speed, and trust. A useful disaster response platform has to communicate risk in a way that helps people act immediately.

We also learned how powerful multi-agent systems can be when each agent is scoped to a focused task and their outputs are coordinated through a structured pipeline. On the technical side, we deepened our experience with real-time API integration, geospatial reasoning, live route scoring, and building resilient frontends around partial data availability.

What's next for BayShield

Next, we want to expand BayShield beyond Tampa Bay into a more general disaster response platform that can support other coastal and high-risk regions. We also want to improve the intelligence of the agents by adding stronger predictive models for flooding, outages, and infrastructure damage.

Future plans include:

  • Integrating more live emergency datasets such as shelter availability and transportation disruptions.
  • Adding SMS, email, or push alert delivery for residents and officials.
  • Improving simulation tools for emergency preparedness exercises.
  • Supporting multilingual communication for broader community access.
  • Extending the platform to cover other disasters such as flooding, wildfires, and severe storms.

Our long-term vision is for BayShield to become an AI-powered emergency coordination layer that helps cities respond faster, smarter, and more safely when disasters strike.

Built With

  • and
  • fastapi
  • framer-motion
  • google-maps-directions-api
  • lucide
  • nhc-rss-feeds
  • noaa/nws-public-apis
  • pnpm
  • python
  • react
  • react-19
  • react19
  • recharts
  • shadcn/ui
  • tailwind-css
  • typescript
  • vite
  • wouter
Share this project:

Updates