Aegis Rescue

Inspiration

During a disaster, the safest route can change in seconds. A road may become blocked, a fire perimeter may expand, visibility may deteriorate, or a new emergency call may suddenly become the highest priority.

Traditional navigation systems optimize for ordinary travel. Emergency responders need something different: a system that can understand rapidly changing field reports, account for vehicle capacity and survivor urgency, and continuously recalculate routes as conditions evolve.

We built Aegis Rescue to explore one question:

What if emergency routing could react to new disaster intelligence as quickly as responders receive it?

In January of 2025 all of us were stuck within the LA area during the Pacific Palisades Fire. Not only was our group put in distress, many of our friends and family within the area were displaced and had to quickly evacuate. After seeing in real time the destruction and chaos caused by the fires, we were all inspired to create some safety measure to create a more optimized approach for first responders and the general public to ensure the best approach to minimizing the destruction of these wildfires which have been abundant over the last few decades within California.

Our Palisades Fire scenario demonstrates this idea through a fire engine conducting search-and-rescue missions while an ambulance independently handles medical calls and returns to the hospital when it reaches capacity.

What It Does

Aegis Rescue is a real-time disaster logistics and route-optimization platform. It combines live hazard intelligence, a continuously updated road graph, priority-aware vehicle routing, and an interactive tactical dashboard.

The system can:

  • Convert unstructured reports—such as 911 calls, fire department updates, weather alerts, and social posts—into structured changes to the road network.
  • Increase the cost of dangerous roads or mark impassable roads as closed.
  • Prioritize rescue sites based on urgency, demand, fire exposure, and travel cost.
  • Coordinate multiple vehicles with different capacities, starting locations, and missions.
  • Recalculate routes when fire conditions change during a trip.
  • Compare continuing toward a rescue with retreating to safety.
  • Display active routes, alternatives, hazards, rescue sites, and vehicle movement on a live map.
  • Fall back to local routing if the backend is unavailable, keeping the demonstration resilient.

At a high level, Aegis minimizes travel and hazard exposure while maximizing the priority of the people reached:

$$\text{Route Score} = \text{Travel Cost} \mathbin{+} \lambda \cdot \text{Hazard Exposure} \mathbin{-} \mu \cdot \text{Priority Served}$$

As fire conditions evolve, the cost of traveling across a road becomes:

$$\mathrm{LiveEdgeCost}(i,j)=\mathrm{BaseCost}(i,j)\times\mathrm{HazardMultiplier}(i,j)$$

A multiplier near (1) represents a clear road, while a very large multiplier represents an impassable route.

How We Built It

We designed Aegis around two specialized “brains” connected through a shared live-state layer:

  1. An extractor agent interprets unstructured field intelligence and converts it into structured node and edge updates.
  2. A deterministic OR-Tools optimization engine solves the mathematical routing problem using vehicle capacities, priorities, time windows, and current road conditions.

We intentionally use AI for understanding language, not for calculating routes. Once the incoming intelligence has been structured, the optimization engine makes reproducible and explainable routing decisions.

Redis acts as the system’s nervous system. It stores the road graph, hazard multipliers, rescue priorities, vehicle states, optimization contracts, and completed routes. Redis Pub/Sub allows new intelligence and route updates to move through the system in real time.

The backend is built with Python and FastAPI. It supports:

  • Capacitated Vehicle Routing Problems
  • Traveling Salesperson Problems
  • Priority-aware rescue selection
  • Vehicle capacities and time windows
  • Nearest-neighbor and 2-opt fallback algorithms
  • Optional machine-learning warm starts
  • Real-time route updates through WebSockets

The frontend is a tactical dashboard built with React, TypeScript, Vite, and MapLibre GL. It visualizes:

  • Historical fire progression
  • Rescue locations and medical calls
  • Emergency vehicle positions
  • Active and alternative routes
  • Road closures and hazard exposure
  • Dynamic rerouting decisions

For a realistic demonstration, we processed historical data from:

Historical fire progression is replayed while vehicles are moving, forcing the optimizer to respond to conditions that change during an active mission.

Turning Emergency Audio Into Map Updates With Deepgram

We used Deepgram Nova-3 to convert live police and emergency-dispatch audio into structured information that Aegis can act on.

Deepgram transcribes noisy radio traffic and 911 calls in real time. We improve transcription accuracy with key terms for local roads, landmarks, emergency vocabulary, and place names such as “Palisades Drive,” “road closed,” “trapped,” and “mandatory evacuation.”

The audio pipeline:

  1. Deepgram converts emergency audio into text.
  2. Speaker diarization separates callers, dispatchers, and field units.
  3. The system filters transcripts for relevant locations, hazards, casualties, and road closures.
  4. Our extraction agent converts those details into structured map updates.
  5. New emergency locations are added to the map as response points.
  6. Road hazards update the live graph and trigger route optimization.
  7. Responders immediately see the new incident and updated route on the tactical dashboard.

Deepgram also applies smart formatting to addresses and unit numbers while redacting sensitive information such as phone, payment-card, and Social Security numbers.

This allows Aegis to transform spoken reports into actionable map intelligence within seconds—without requiring dispatchers to manually re-enter information.

Challenges We Faced

Routing Through a Changing Environment

A route that was optimal when a responder departed could become unsafe moments later. We needed to update road costs without rebuilding the entire graph every time a new hazard appeared.

We addressed this by separating static road costs from live hazard multipliers. A hazard report becomes a small, constant-time Redis update, while the solver reads the latest combined cost whenever it recalculates a route.

Combining AI With Deterministic Optimization

Language models are useful for interpreting reports such as:

“The fire crossed Route 4, and the road is now impassable.”

However, they should not be trusted to perform safety-critical route optimization directly.

We created a strict JSON contract between the extraction layer and the solver. This gave us the flexibility of natural-language understanding while keeping routing deterministic, testable, and explainable.

Coordinating Independent Vehicles

The fire engine and ambulance have different bases, capacities, objectives, and return conditions. Each vehicle needed its own operational state and route while still reacting to the same evolving disaster.

We modeled the vehicles independently while allowing them to share the same live hazard graph. This lets both missions run concurrently without coupling their operational logic.

Rendering Solver Output on Real Roads

Optimization solvers return ordered graph nodes, while an interactive map needs complete road geometry.

We built path-reconstruction logic that expands optimized routes into drawable road segments, allowing the dashboard to accurately display the paths selected by the backend.

Keeping the Demo Reliable

Live systems have many possible failure points. We added:

  • Deterministic fallbacks for intelligence extraction
  • Multiple fallback routing algorithms
  • Semantic caching for repeated or similar reports
  • Client-side route previews when the backend is unavailable
  • Automated tests for routing, capacity, caching, traversal, and real-time updates

These safeguards allow the demonstration to continue functioning even when an individual service is unavailable.

What We Learned

We learned that disaster routing is not simply a shortest-path problem. It is a dynamic vehicle-routing problem involving:

  • Uncertainty
  • Vehicle capacity
  • Survivor urgency
  • Time windows
  • Hazard exposure
  • Multiple vehicle types
  • Rapidly changing constraints

We also learned the value of giving each technology a focused responsibility:

  • AI translates human language into structured operational updates.
  • Redis maintains fast-changing shared state.
  • Optimization algorithms make constrained routing decisions.
  • The tactical dashboard gives humans visibility into why routes change.

Most importantly, we learned that resilient systems need graceful degradation. During an emergency, partial functionality is far more useful than a system that fails completely when one service becomes unavailable.

What’s Next

We would like to expand Aegis Rescue with:

  • Live feeds from Caltrans, NOAA, NASA FIRMS, and emergency dispatch systems
  • Speech-to-text ingestion for radio and 911 traffic
  • Confidence scores and human approval for uncertain intelligence
  • Additional resources such as shelters, helicopters, supply trucks, and evacuation buses
  • Traffic, fuel, crew-hour, and terrain constraints
  • Predictive fire-spread modeling
  • Offline-first operation for damaged communications infrastructure
  • Field testing with emergency-management professionals

Our long-term vision is a decision-support platform that helps responders transform fragmented disaster intelligence into coordinated action—without removing humans from the loop.

Built With

Share this project:

Updates