Problem statement

Climate risk tools answer one question: how bad is it here? That framing misses where most of the damage actually happens.

The 2021 Texas grid failure was not a weather event that stayed a weather event. A cold snap took out power, which took out water treatment, which took out hospitals, across multiple states. The trigger was local. The harm was systemic.

Decision makers feel this gap concretely. A city planner with a limited budget has to choose between hardening the grid, restoring wetlands, or pre-staging evacuation plans, and nothing tells them which choice protects the most systems downstream. Meanwhile the risk scores they are handed arrive as a single number with no visible derivation, so there is no way to tell a measured signal from an assumption, or an evidence-backed link from a guess. Trusting the number requires trusting the vendor.

Both failures compound. Without the chain, you cannot see what is at stake. Without provenance, you cannot defend the spending to anyone who asks.

Solution overview

Spillover scores a coastal region on seven risk domains (ocean heat, storm intensification, biodiversity, food and water, human displacement, resource stress, and AI data-center load), then propagates that pressure through a documented dependency graph of eight planetary systems to produce two numbers: a Regional Stress Score and a Global Cascade Potential.

Live sea-surface temperature, atmospheric, and air-quality signals come from open, key-free APIs. The sea-temperature baseline is not a hardcoded constant; an ordinary least squares regression is fitted over roughly sixty days of recent history, so today's anomaly is measured against the region's real trend. Every input is labelled live or modeled, and unreachable feeds fall back visibly rather than silently.

Propagation runs three levels deep with attenuation at each hop. Each of the thirteen graph connections carries a strength, a confidence rating, a named source, and an evidence tier: evidence-based, modeled proxy, or scenario assumption. Cross-region spillover only fires along explicitly documented channels such as a shared cyclone basin or a shared petrochemical corridor, and each channel is driven by the domain that genuinely powers it. Where no documented channel exists, the tool reports elevated pressure and refuses to name a destination.

The Simulator applies counterfactuals (a warming ocean, a surge in data-center demand, degraded coastal defenses) and reruns the entire model, never adjusting the output after the fact. The Interventions tab ranks seven actions by their modeled reduction, each one computed by rerunning both models on the changed variables, and measured against whatever scenario is currently loaded.

AI usage explanation

Two distinct pieces of machine intelligence do very different jobs here, and the distinction is deliberate.

The first is statistical, not generative: the least squares regression that fits the sea-temperature baseline. It replaces a fixed per-region constant with a small model trained on live history, which is what makes the anomaly meaningful rather than arbitrary.

The second is a generative model (Gemini), and it is fenced in tightly. Before any AI call, the browser enumerates all thirty-five feasible three-action portfolios, filters them by budget and user-selected requirements, ranks them deterministically, and produces up to five fully verified candidates whose numbers are already computed. The AI's only permitted job is to select one of those candidates, sequence its three interventions, and explain the choice in plain English.

It cannot invent a portfolio, invent an intervention, or override a requirement. It is forbidden from emitting a number anywhere in its response, and the server scans the reply recursively to enforce that, then confirms the selected candidate is one the browser actually approved. Free-text user input is explicitly marked as untrusted context in the prompt, so instructions hidden inside it cannot redirect the task. Any failure (missing key, rate limit, timeout, malformed JSON, failed validation, or no backend at all) falls back automatically to the same selection made by transparent rules, and the interface says plainly that no generative model was involved.

This improves the product in the place where language models are genuinely better than code, and only there. A ranked list of portfolio numbers does not tell a city planner why this bundle fits their budget and their coastline, what to do first on Monday, who owns it, or what they are giving up in exchange. The AI supplies that judgment and translation. The math stays deterministic, reproducible, and auditable, so the recommendation is explainable without anyone having to trust the model's arithmetic.

Built With

Share this project:

Updates