Inspiration

Emergency teams do not suffer from a lack of data. They suffer from the time and reasoning required to turn fragmented signals into a decision they can defend.

A wildfire may appear in one feed, its perimeter in another, current wind somewhere else, population exposure in a separate dataset, and hospitals, shelters, and roads in yet another system. Even when every source is available, someone still has to answer the operational questions:

  • What happened, and which sources confirm it?
  • What will be affected next?
  • Which routes or destinations may become unavailable?
  • Which intervention changes the outcome?
  • What is known, assumed, missing, or contradictory?

We built Northstar to close that gap: from a real-world signal to an evidence-backed decision a response team can inspect, challenge, and approve.

What it does

Northstar is an operational intelligence command center for wildfire response.

It combines public hazard, weather, population, infrastructure, and routing data into a provenance-rich Incident Graph. A deterministic geospatial engine then projects exposure, affected assets, route status, and destination access across time.

The workflow follows four stages:

  1. Signal — ingest wildfire incidents and mapped perimeter observations.
  2. Evidence — connect weather, population, facilities, routes, jurisdictions, timestamps, source URLs, confidence, and payload hashes.
  3. Projection — calculate operational impact at NOW, T+30, T+60, T+120, and T+240.
  4. Decision — let GPT-5.6 investigate the evidence through typed tools and produce a structured action board for human review.

Operators can adjust the time window, wind assumptions, fire-growth rate, and uncertainty buffer. They can also select routes and facilities directly on the map to draft road, shelter, or resource interventions and compare the resulting scenario.

Northstar reports:

  • projected population exposure;
  • affected schools, hospitals, shelters, and response assets;
  • route impact and destination reachability;
  • cross-border and jurisdiction-policy exclusions;
  • shelter and resource assumptions;
  • intervention deltas and scenario scores;
  • a priority decision;
  • operational objectives with metrics and deadlines;
  • owner-assigned actions;
  • decision triggers;
  • intelligence gaps;
  • alternatives and trade-offs.

Every recommendation remains a draft. Northstar never closes roads, dispatches responders, sends alerts, or mutates an external system.

How we built it

The command center is built with Next.js, React, TypeScript, Leaflet, and CARTO.

The backend uses FastAPI, Pydantic, and Python, with Shapely and PyProj for geometry, NetworkX for operational graph logic, and SQLite for the Incident Graph and typed repositories.

Northstar integrates captured responses from:

  • NASA EONET for wildfire events;
  • WFIGS for mapped US wildfire perimeters;
  • GDACS for international wildfire events;
  • Open-Meteo for wind and weather context;
  • WorldPop for population exposure;
  • OpenStreetMap and Overpass for hospitals, schools, shelters, roads, and emergency assets;
  • OSRM for captured route geometry, alternatives, distance, and duration;
  • Nominatim for country and jurisdiction metadata.

The agent runtime uses the OpenAI Agents SDK with GPT-5.6 Sol.

GPT-5.6 does not perform numerical geometry or invent impact values. It calls typed tools to inspect source health, the Incident Graph, routing coverage, and deterministic scenarios. Its final DecisionCellBrief is validated before it reaches the UI.

The grounding layer rejects:

  • evidence or scenario IDs that do not exist;
  • unsupported numerical effects;
  • recommendations that contradict deterministic results;
  • generic actions without owners, deadlines, or measurable triggers.

The frontend and API are deployed as separate Vercel projects.

Real data without a fragile judging path

External emergency-data services can be slow, unavailable, or rate-limited at exactly the wrong moment.

Northstar therefore supports two modes:

  • Live mode refreshes available public sources.
  • Replay mode loads checked-in captures of real upstream responses.

Replay data is not synthetic mock data. Each observation preserves its provider URL, observed and fetched timestamps, confidence, and raw-payload hash. This gives judges a repeatable workflow without removing provenance or pretending that generated fixtures are live observations.

The deployed demo contains analysis-ready wildfire scenarios in San Diego, Oregon, and France.

Challenges we ran into

Separating observation from projection

A current fire perimeter, an operational growth scenario, and a scientific fire-spread forecast are not the same thing.

We designed explicit truth classes and model boundaries so the interface distinguishes observed geometry, deterministic planning projections, operator assumptions, and unresolved facts. Northstar describes future envelopes as projected exposure under assumptions—not as a scientific wildfire forecast.

Preventing the agent from becoming the simulator

It was tempting to let the language model calculate everything. That would make the system difficult to audit and easy to overclaim.

Instead, deterministic code owns geometry, population intersection, route reachability, intervention deltas, and scenario scoring. GPT-5.6 owns investigation, prioritization, trade-off analysis, and communication.

Routing across jurisdictions

The nearest destination is not always policy-eligible. Our San Diego scenario initially produced routes that crossed the US–Mexico border.

We added jurisdiction-aware routing so cross-border destinations are explicitly excluded unless the operating policy permits them. Unknown, impacted, closed, reachable, and cross-border-excluded routes remain distinct states.

Working with incomplete operational data

A mapped shelter does not prove that it is open. A captured route does not prove current traffic or official closure status.

Northstar refuses to silently fill these gaps. Missing shelter capacity, live road status, traffic, or readiness becomes an intelligence gap with an assigned owner and resolution task.

Keeping a dense system understandable

The product combines evidence, maps, simulation, interventions, and an agent-generated action board.

We moved scenario configuration and intervention drafting into a map-linked Context panel, kept the map as the hero element, and turned the lower workspace into three focused outputs: evidence, projected impact, and decision.

Accomplishments that we are proud of

  • A deployed, functional product rather than a static prototype.
  • Real captured upstream data with verifiable provenance.
  • Deterministic temporal exposure and route-impact calculations.
  • Map-driven road, shelter, wind, and resource scenarios.
  • Jurisdiction-aware routing for both US and international incidents.
  • A GPT-5.6 Decision Cell that produces actionable, owner-assigned operational output rather than a generic summary.
  • Validation that prevents unsupported evidence references and numerical claims.
  • A reproducible zero-credential replay path.
  • Automated backend, API, routing, simulation, grounding, and frontend tests.
  • A clear human-approval boundary throughout the product.

What we learned

The strongest role for an AI agent in a high-stakes system is not to replace deterministic models. It is to investigate them, reconcile their evidence, expose what is missing, compare alternatives, and turn results into a decision structure humans can evaluate.

We also learned that uncertainty should not be hidden behind a confidence score. It should change what the system recommends, what it refuses to claim, and which information becomes the next operational task.

Finally, reproducibility and real data are not opposites. Captured upstream responses can preserve provenance while making a complex multi-source demo reliable.

What's next for Northstar

Next we would add:

  • authorized live road-closure and traffic sources;
  • verified shelter activation, capacity, and occupancy feeds;
  • richer population surfaces beyond the current captured coverage;
  • calibrated scientific spread-model integrations;
  • multi-user incident rooms, authentication, and audit history;
  • notification and dispatch integrations that activate only after explicit approval;
  • additional hazard domains such as floods, hurricanes, and infrastructure outages.

The long-term goal is a general operational intelligence layer that can move from signal to evidence, projection, and defensible human decision across many kinds of fast-moving incidents.

Built With

Share this project:

Updates