↓ Skip to main content
  1. Projects/

Osiris: A Live Global Situational-Awareness Map Built Entirely from Public Data

·1280 words
Miles Wallace
Author
Miles Wallace

Osiris is a browser-based live map that compiles dozens of open data feeds onto a single globe rather than treating each one as its own tool. Traffic cameras, satellites, flights, ships, wildfires, earthquakes, conflict zones, malware infrastructure, submarine cables and market data all render as layers on the same view, each pulling from its own public source and refreshing on its own schedule. Nobody feeding those individual sources set out to build a composite picture of the world; Osiris is what happens when someone collects what they each chose to publish and puts it all in one place.

The layers vary enormously in scale and freshness. Cameras are the densest, at 39,484 feeds across 46 of 48 tracked regions, pulled from roughly 60 traffic agencies plus SkylineWebcams, YouTube and OpenCCTV, with the full list refreshing in about a tenth of a second. Satellites come from a static orbit catalogue and number 18,778. Flights sit at 12,283, sourced from OpenSky’s anonymous tier and adsb.fi’s military feed, though without a configured login OpenSky’s data lags about 11 minutes behind real time. Fires (2,017 hotspots via NASA FIRMS), earthquakes (59, eight of them M5 or larger), severe weather (57 events), global incidents (277 via GDACS) and GDELT-sourced world events (600 of 1,307 scanned in a rolling 15-minute window) round out the fast-moving layers, while submarine cables (717), nuclear plants (64) and ports and chokepoints (52 and 10) sit as static reference layers underneath everything else. A malware layer built on abuse.ch’s URLhaus feed tracks 699 active threats but is the one slow spot in the system, taking around 25 seconds to answer because of the per-IP location lookups it runs on top of the raw feed.

The camera layer is worth dwelling on because its shape says as much as its size. About 90% of the feeds are highway and traffic-agency cameras, with the US alone contributing roughly 22,000 spread across Florida, Georgia, Texas, Utah, California, North Carolina and Oregon, followed by Taiwan, Spain, Austria, Hong Kong and London. That skew isn’t really about where cameras exist, it’s about which cameras are meant to be looked at. A highway camera is installed so a dispatcher or driver can check it, which means it gets a public URL, coordinates and a refresh rate as a matter of course. A camera on a storefront or a city block exists for the opposite reason and stays private. What Osiris renders isn’t camera density so much as a map of where a government decided the public should be able to watch.

Several layers are currently broken or empty, and nearly all of it traces back to small, specific technical causes rather than systemic failure. Ships show zero vessels because the maritime layer is enabled by default but no AIS_API_KEY is configured, so the aisstream.io feed it depends on never connects, leaving only the static ports and chokepoints visible. Air quality shows zero stations because the underlying code still calls OpenAQ’s v2 API, which has been shut down in favor of v3, and the newer version requires its own key. Cloudflare Radar returns a 503 for the same reason, an absent token, though that toggle is already hidden from the layer panel, so the failure is expected rather than surfaced as broken. The camera layer carries its own smaller gaps: Caltrans is capped at 2,000 of its 2,936 cameras because the source paginates at 2,000 results and the client only requests once, WSDOT and the Alberta and Montréal feeds return zero, Ontario shows only three placeholder entries after a previously free feed started requiring a key, two regions (US Central and Turkey) sit permanently pending, and 28 camera IDs appear twice in the combined list. A separate aircraft-lookup endpoint returns a 400 when called with no parameters, which most likely means it expects a specific aircraft ID rather than functioning as a general feed, though that hasn’t been confirmed.

One pattern in the camera data points to something more interesting than a bug: the states with the heaviest coverage, Texas, Florida, California, Oregon, Georgia and Michigan, aren’t clustered by geography or policy so much as by vendor. Once one state adopts a platform like IBI’s 511 system, neighboring states tend to follow, and a whole region’s camera coverage appears at once as a side effect of shared tooling rather than shared jurisdiction. Traffic infrastructure spreads the way a common language does, through contact between agencies and the software they happen to buy, and the map ends up encoding that adoption pattern whether or not it was ever the point.

The layers that don’t move are arguably the most consequential ones. The 717 submarine cables sit static on the map and draw no attention the way a live camera does, but nearly everything else Osiris displays, a camera feed from Taipei, a flight track over the Atlantic, the page rendering the map itself, travels over that same cable network at some point. The empty layers tell a related story about the durability of open data: ships are missing because a free API key was never wired in, air quality is missing because a provider retired an old API version out from under anyone still calling it. Neither is really an outage, just public data drifting out from under a tool that isn’t actively maintained against it, which is the ordinary cost of building on sources nobody is contractually obligated to keep stable.

Stepping back, Osiris is close to a class of tool that would have required a state intelligence budget two decades ago: live aircraft and satellite tracking, conflict and disaster feeds, tens of thousands of cameras and an OSINT panel, composited onto one globe, built entirely from data every source involved chose to publish. That combination raises a real question that the map itself can’t answer: a single traffic camera is harmless, but 39,000 of them alongside IP and username lookups add up to a meaningfully different capability, and where a project like this draws its own lines, keeping reconnaissance tooling separate from the live camera view or deliberately excluding street-level feeds, is a design decision as much as a technical one. The coverage itself carries a related bias: it’s heavily concentrated in North America, Europe and East Asia, with only scattered webcams across Africa and South America and almost none across Central Asia, a reflection of which regions have the money and infrastructure for open data rather than which regions have the least happening in them. The most revealing view a project like this could offer may not be the live layers at all, but a slower one: a shipping lane bending to avoid the Red Sea, a country’s internet dimming every evening at the same hour, an orbit filling in over months. None of that shows up in a snapshot, only in what changes underneath one.

Running Osiris locally takes three commands once the repository is cloned:

git clone https://github.com/simplifaisoul/osiris.git
cd osiris
npm install
npm run dev

That’s enough to get the map itself running, though several layers stay dark until their keys are supplied. Ships need a free AIS_API_KEY from aisstream.io, air quality needs an OpenAQ v3 key now that v2 is retired and Cloudflare Radar needs its own token, each set as an environment variable before the dev server picks it up. Cameras, satellites, flights, fires, earthquakes and the rest of the static and public-API layers work with no configuration at all.

Resources: Open Source Intelligence & Reconnaissance Integrated System Live Demo Support OSIRIS Next.js TypeScript MapLibre License A real-time global intelligence dashboard that aggregates live flight tracking, CCTV networks, earthquake monitoring, conflict zone mapping and 24/7 news feeds into a single GPU-accelerated interface.