Inspiration

Living in Florida, hurricanes bring both logistical challenges and real psychological strain. We noticed a gap between meteorological data, especially the “cone of uncertainty,” and how people actually make decisions. Most existing tools rely on static maps or dense spreadsheets, which do not capture what evacuation feels like on the ground.

To respond, we built a Digital Twin map of the Tampa Bay area that turns storm inputs into a dynamic, interactive AI simulation. We chose the name Hermes, after the messenger of the gods, to reflect the goal of turning complex atmospheric data into clear, useful visual information.

What it does

Hermes is a hurricane evacuation agentic AI command center experience. It transforms storm tracks into a map-first dashboard featuring:

  • Dynamic 3D Visualization: A Mapbox-powered interface with Three.js overlays for the hurricane vortex and civilian movement.
  • AI-Generated Safe Zones: Using Google Gemini 1.5 Flash to identify optimal shelters and evacuation routes based on real-world infrastructure.
  • Agent-Based Modeling: Simulating thousands of "civilian agents" with unique demographics (elderly, disabled, families) navigating road-based evacuation routes.
  • Situational Assessment: A "Coordinator" AI that monitors zone capacity and storm progress to provide natural-language briefings.

How we built it

The architecture of Hermes is a split-brain system designed for high-performance visualization and Agentic AI reasoning.

  • The Frontend Built with React and Vite, utilizing Mapbox GL JS 3. We used Zustand for state management to handle the high-frequency "ticks" of the simulation and Framer Motion for a responsive UI.

  • The Backend Powered by FastAPI and the Google AI SDK (ADK). We implemented Catmull-Rom splines to interpolate the storm path, allowing the AI to sample the trajectory at any point $t$ to predict impact zones:

Challenges we ran into

  • The Latency Gap: Synchronizing a high-speed React animation loop with an asynchronous AI backend is difficult. We solved this by creating a client-first simulation that runs offline using mock data, while the Python backend provides optional oversight via WebSockets.

  • Coordinate Precision: Mapping LLM-generated text to exact GPS coordinates required strict Pydantic validation. If the AI suggested a shelter in the middle of the bay, the system caught it using bounding-box geometry:

  • Google ADK Orchestration Complexity: Implementing the Google AI SDK (ADK) required building a sophisticated multi-agent architecture rather than a single-prompt system. We faced significant hurdles in maintaining state consistency between the Python simulation engine and the LLM's spatial reasoning.

Accomplishments that we're proud of

  • Successful AI Orchestration: We moved beyond using LLMs as simple chatbots. In Hermes, the Google ADK acts as a logic engine that validates spatial data and makes priority-based decisions capable of saving thousands of lives.
  • Seamless 3D Integration: Achieving a performant bridge between Three.js and Mapbox GL JS to create a cohesive 3D environment to display the hurricane simulation with the citizen agents.

  • End-to-End Simulation: Creating a system where a single "Storm Start" trigger initiates pathing, agent assignment, and routing across the entire Tampa Bay area.

What we learned

  • Disaster Behavior: We learned that assigning demographic weights, speed, medical needs, and vehicle types leads to "emergent" traffic patterns that rule-based systems often miss.

  • The Power of the ADK: Using the Google AI SDK taught us how to build reliable multi-agent systems where different agents (Zone Agent, Civilian Agent, Coordinator) collaborate on a single shared state.

What's next for Hermes

  • Real-Time Data Integration: Hooking the simulation into live NOAA feeds for real-time storm tracking.
  • Multi-Modal Communication: Integrating Twilio to simulate broadcasting emergency alerts to the "civilian agents" in the system.
  • Enhanced Physics: Incorporating flood-plain data to simulate how rising water levels affect road accessibility during the evacuation.
  • Infrastructure report: Implement an infrastructure report on damage in the area of Tampa, and later in more cities.

Built With

Share this project:

Updates