What happens after the lights go out?

A power outage is rarely just a power outage. If a substation goes down during a storm, a communications tower might lose power too. That can affect traffic systems, hospitals, and emergency services. The first failure is easy to notice. What happens next is much harder to see.

That is the idea behind CASCADE.

I wanted to build something that lets people look beyond the first problem and explore how one failure could affect an entire city. Instead of just showing a list of damaged buildings, CASCADE shows the connections between them and how those connections change a disaster scenario.

What CASCADE does

CASCADE is an interactive disaster response simulator set in a fictional city. It brings six connected infrastructure assets onto one map, including a power substation, a communications tower, a hospital, a water pump, a traffic control hub, and an emergency station.

You can start a storm scenario and watch how a failure spreads through the network over time. As the simulation moves forward, the map updates to show which assets are healthy, at risk, or affected.

But seeing a problem is only half the story. I also wanted to explore what someone could do about it.

With FutureFork, you can compare different actions, such as protecting the hospital or stabilizing communications, and see how those choices change the simulated chain reaction. The goal is not to claim that CASCADE can predict a real disaster. It is to make the connections between infrastructure systems easier to understand and explore.

From a voice report to a new scenario

I also built LiveTruth, because reports from the field are often incomplete. Someone might see water rising near a pump without knowing whether the pump has stopped working. Another person might report that a communications tower has lost power and is offline. Those reports should not be treated the same way.

In CASCADE, a user can type a field report or record one using their microphone. Gemini transcribes the audio when needed, reads the report, identifies the infrastructure asset being discussed, and organizes the reported details into a structured result.

It also keeps track of uncertainty. If someone reports flooding near a pump but cannot confirm an outage, CASCADE treats that as evidence to review, not an infrastructure failure to add to the simulation.

When a report explicitly describes an asset failure, a person can review Gemini's interpretation and choose whether to use it as an input to the fictional scenario. If they approve it, CASCADE runs the simulation again to show how the added failure changes the possible downstream effects.

Gemini helps make sense of the report. The person decides what enters the scenario. Python calculates what happens in the simulation.

How I built it

I built the frontend with React and TypeScript and the backend with Python and FastAPI. I used NetworkX to model the infrastructure connections and calculate how failures spread through the fictional network.

The interactive city map brings the simulation together visually, while FutureFork lets users compare different intervention scenarios.

For LiveTruth, I integrated Gemini through Google's Agent Platform API. Gemini handles voice transcription and turns natural language reports into structured information that the rest of CASCADE can use. I connected that output to a human review step before it can affect the simulation.

I built CASCADE solo during VTHacks 14.

Challenges I faced and what I learned

One challenge was making the map, simulation, intervention comparisons, and field reporting work together as one experience. I wanted someone to be able to follow a scenario on the map, report a new problem, and then see what changed without moving between unrelated tools.

The other big challenge was deciding how to use AI responsibly in that workflow. Gemini can interpret what a report says, but that does not mean the event actually happened. I had to keep the difference between a reported failure and a verified fact clear, especially when the report could change the simulation.

Building CASCADE taught me a lot about connecting an AI system to a separate simulation engine. I also learned that a useful AI feature is not always about giving a longer answer. Sometimes it is about extracting a few important details, showing what is uncertain, and leaving the final decision to a person.

What I am proud of

My favorite part is seeing the full LiveTruth workflow come together. I can record a voice report about a tower losing power, have Gemini interpret it, review the result, and choose to add that reported failure to the scenario. The map and simulation then update to show what could happen next.

I am also proud that FutureFork gives people a way to explore different responses instead of only watching failures happen.

What's next

I would like to expand CASCADE with a larger infrastructure network, more disaster scenarios, and more ways to compare possible responses. I also want to improve the interface so users can understand the most important changes at a glance.

CASCADE is currently a fictional simulation built for demonstration and learning. It does not use live infrastructure data, verify real world incidents, or control emergency services.

Share this project:

Updates

Submission history