Open-source project
bilawalsidhu/gods-eye-view avatar
bilawalsidhu/gods-eye-view

God's Eye View: a Cesium globe that stitches public feeds into one live picture

A spy satellite simulator in your browser, except the data is real. Live open source spatial intelligence on a photorealistic 3D globe.

34,514 stars6,904 forksJavaScriptNOASSERTION

At a glance

What is it?
God's Eye View is a browser-based 3D globe that pulls flights, ships, satellites, earthquakes, cameras and launches into a single Cesium scene, with keyless defaults and optional paid imagery. It is a viewer and a demo surface, not a data platform.
Who is it for?
Adopt God's Eye View if you want a local, inspectable globe for public feeds and you accept that traffic is simulated and camera poses and launch trajectories are coarse estimates. Skip it if you need authoritative tracking, an SLA, or a stable data API, because each layer is a separate module and the feeds themselves are third-party.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap between a satellite simulator and a real feed viewer

Most globe demos are either pretty and empty or useful and ugly. God's Eye View sits in between on purpose. The README frames it as a spy-satellite simulator that turns out to be built from public sources: flight transponders, ship beacons, orbital elements, seismographs and public cameras, all placed on the same photorealistic 3D globe. The audience is the person who wants to move from a global picture down to one aircraft, one vessel, or one street without switching tools. That is a narrower claim than it first appears. The project does not aggregate or clean the underlying feeds; it renders them. The README says each layer is a separate module, which tells you where the seams are. If you want a single normalized schema across flights, ships and satellites, this is not that. If you want to see them side by side and click through to metadata, it is.

Cesium plus per-layer modules, and what that means for data flow

The stack is JavaScript on top of Cesium, with WebGL doing the rendering and GLSL shaders used for the sensor looks: CRT, NVG, FLIR/thermal, Noir and Snow. Imagery comes from Esri satellite tiles by default, with OSM as the fallback if Esri is unreachable, and keyless terrain. Adding a Cesium ion token upgrades to photorealistic 3D; a Google Maps key is the metered alternative and also enables in-app place search. Data flows one way: third-party sources into layer modules, modules into the globe. The README lists what is keyless: flights, military traffic, satellites, earthquakes, public cameras, radio and launches. Interaction is client-side. Click-to-track locks the camera, draws a fading trail and surfaces metadata; a tracked fire or vessel can hand off to the nearest live camera in one click. Share links serialize camera, style, layers and one tracked target into a URL, and the README is explicit that a live target in a link is a handoff rather than a bookmark, because the target keeps moving. That is a small but honest design decision.

Installing it: Pinokio, or Node 24.x and four commands

There are two documented paths. The one-click route needs Pinokio 8.2 or later, then the God's Eye View app page, then Install and Start; the launcher installs locked dependencies, finds a free local port and opens the app, and the README notes the maintainer reports cross-platform testing of the fixed installer on Windows, macOS and Linux. If a previous install failed, the README points at the 8.2 launcher fix. The terminal route is explicit about versions: Node.js 24.x (24.14.0 or later) or 26.x, with a warning that the setup doctor flags Node 25 as end-of-life. The commands are git clone, cd gods-eye-view, npm ci, npm run doctor, npm run dev, and the app opens at http://localhost:4173. On macOS, ./scripts/dev-fresh.sh clears the Vite cache and pulls configured keys from the Keychain, and it also starts keyless. The README describes a first-run panel with Live Contacts, Space Missions, Environmental and Explore Manually. Keys are added in the app through a POWER UP panel, not by editing a file, which is a deliberate choice: the README states keys are upgrades, not prerequisites.

Where the globe stops being a source of truth

Read the disclaimer carefully, because it is the most important paragraph in the README. Traffic is simulated along real roads using aggregate location data, and CCTV camera poses and rocket launch trajectories are coarse estimates. So three of the more visually striking layers are not measurements of where things are right now. The README also says most feeds are live or regularly refreshed, which is a weaker promise than all feeds are live. Aircraft and vessels in particular are only as good as the public transponders and beacons behind them, and the project does not claim to validate them. There is also a startup figure in the README: a point-in-time M5/Chrome capture measured a median 1.86-second cold start, which the README itself labels a comparison baseline rather than a guarantee. Treat every number here as illustrative. If your work requires authoritative positions, chain of custody, or an uptime commitment, this is the wrong tool, and no amount of shader work changes that.

Non-commercial defaults and the licence ambiguity

The repository is licensed under NOASSERTION, which means GitHub could not map the licence file to a known identifier. The README does not describe redistribution or commercial terms, so anyone planning to embed this in a product needs to read the licence file directly rather than infer from the permissive tone of the README. The imagery has its own constraints. The README states Cesium ion tokens are for eligible personal, non-commercial use, while Google Maps is the direct, metered route, and it adds that provider terms and quotas apply. That matters because the default keyless mode is not a free version of the paid mode; it is a different imagery pipeline with a different fallback path (Esri, then OSM). Upgrading is a licensing decision as much as a visual one. Nothing in the README suggests the project mediates those terms for you.

Compared with dropping the same feeds into a GIS stack

A conventional alternative is to load the same public feeds into QGIS or a self-hosted Cesium or MapLibre viewer headlessly, then style and query them yourself. The difference is in what you get out of the box. God's Eye View ships the interaction layer: cockpit view that holds terrain under a tracked flight, a 250 km contacts roster, detection overlay with screen-space bounding boxes, a military-style HUD, a scene director for camera tours, and a realtime AI agent for hands-free voice control. A GIS stack gives you none of that and asks you to assemble it. In exchange, the GIS path gives you layers you can query, join, and export with reproducible styling. God's Eye View is a presentation surface. If your deliverable is a map product, the GIS route is more work up front and less rework later. If your deliverable is a live view you can talk to, this project has already written the parts you would otherwise spend weeks on.

Maintenance, upgrade cost, and what to verify first

The repository is not archived, and the last push was on 2026-09-13, the same day as this assessment, so there is no staleness signal to weigh. Two releases are listed: v0.1.0 on 2026-08-31, described as one-click install, keyless boot and Provider Settings, and v0.1.1 on 2026-09-01, described as installation and live-data fixes. A CI workflow exists at .github/workflows/ci.yml, which the README badge references. Upgrade cost is mostly environmental rather than code. Node 25 is flagged as end-of-life by the setup doctor, so pinning 24.x or 26.x is part of staying current, and the macOS dev-fresh script clears the Vite cache, which suggests cache state can cause confusing failures after a pull. Keys live in the app rather than in a file, so a fresh clone starts keyless and you re-add them through POWER UP. Before adopting, verify three things: that npm run doctor passes on your Node version, that your intended use fits the Cesium ion personal, non-commercial terms or a metered Google Maps key, and that the NOASSERTION licence file actually permits what you plan to do with the code.

Editorial conclusion

Adopt God's Eye View if you want a local, inspectable globe for public feeds and you accept that traffic is simulated and camera poses and launch trajectories are coarse estimates. Skip it if you need authoritative tracking, an SLA, or a stable data API, because each layer is a separate module and the feeds themselves are third-party. Before committing, run npm run doctor on Node 24.x or 26.x, confirm whether Cesium ion's personal, non-commercial terms or a metered Google Maps key fit your use, and check the licence file directly, since the repository is marked NOASSERTION and the README does not spell out redistribution terms.

Official sources

  1. bilawalsidhu/gods-eye-view on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Community notes

Community notes