# God's Eye View: a real OSINT globe you run in your browser

> God's Eye View is a Cesium-based spatial intelligence console that merges live aircraft, ships, satellites, earthquakes and public cameras onto one 3D globe. It installs keyless in about a minute, and the interesting limits start right after that.

**bilawalsidhu/gods-eye-view** — A spy satellite simulator in your browser, except the data is real. Live open source spatial intelligence on a photorealistic 3D globe.

- Repository: https://github.com/bilawalsidhu/gods-eye-view
- Website: https://maptheworld.ai/
- Stars: 44,962 · Forks: 9,179
- Language: JavaScript
- License: NOASSERTION
- Published: 2026-09-13 · Updated: 2026-09-13 · Language: en
- Canonical page: https://hysenlabs.com/projects/bilawalsidhu-gods-eye-view

## The problem: public signals live in separate tabs

Flight transponders, ship beacons, orbital elements, seismographs and public cameras each have their own viewer, their own refresh rate and their own idea of what a map should look like. God's Eye View's premise is that the interesting question is rarely "what is this aircraft doing" but "what is happening within 250 km of this point, across every feed I can see." The README frames the project as bringing public signals into one explorable globe, and it is explicit that the data is real while the framing is theatrical: "A spy-satellite simulator in your browser, then you realize the sources are public and the data is real." The audience is the OSINT and geospatial-curious engineer who wants to click a vessel and get handed off to the nearest live camera, not the analyst who needs a vetted, audited chain of custody for each feed. It also targets people who want to read the source: the README states that every line of code is inspectable, which is the actual differentiator against a hosted dashboard.

## How the globe actually works: Cesium plus separate layer modules

The renderer is Cesium (cesium ^1.124.0 in package.json), so the 3D globe, camera model and 3D Tiles pipeline are Cesium's, not a bespoke WebGL engine. Around it sit smaller, single-purpose dependencies: satellite.js for orbital propagation, @mapbox/vector-tile and pbf for vector tiles, mgrs for coordinate formatting, egm96-universal for the geoid offset that matters when you place things on terrain. That is a conventional geospatial stack, and it tells you where the project's own code starts.

The data flow runs through a local server that ships with the repo (the server/ directory) and a Vite dev server on the front. The README describes each layer as a separate module, which is the design decision that matters: you can remove or replace one feed without touching the camera or the HUD. Keys are the second axis. The .env.example file splits them into two classes, and the distinction is worth internalising before you paste anything. GOOGLE_MAPS_API_KEY and CESIUM_ION_TOKEN are, in the file's own words, "injected into the browser bundle by design" and "WILL be visible in devtools." Everything else stays server-side. A separate server-side Google key exists for the Places endpoints (/api/google/nearby-places, /api/google/text-search) and the Street View fallback, and that one never reaches the browser.

## Installing God's Eye View and tracking your first contact

There are two install paths, and they open the same app. The one-click path goes through Pinokio 8.2 or later on Windows, macOS or Linux; the README notes that version 8.2 fixes a launcher installation issue, so an earlier Pinokio is the first thing to rule out if an install failed. The terminal path is the one you want if you intend to read or modify the code. The engines field in package.json pins Node to ">=24.14.0 <25 || >=26 <27", and the README warns that the setup doctor flags Node 25, which is end-of-life.

```bash
git clone https://github.com/bilawalsidhu/gods-eye-view.git
cd gods-eye-view
npm ci
npm run doctor
npm run dev
```

npm ci installs the locked dependency tree. npm run doctor runs scripts/setup-doctor.mjs, which is where the Node version complaint surfaces. npm run dev starts Vite and serves the app at http://localhost:4173, the port the README names. On macOS, ./scripts/dev-fresh.sh clears the Vite cache and pulls configured keys from the Keychain; it also starts keyless.

Once the page loads, the first-run panel offers Live Contacts, Space Missions, Environmental, or Explore Manually. Pick Live Contacts, then click any aircraft. The camera locks on, draws a fading trail and surfaces that contact's metadata; the README says a tracked fire or vessel hands off to the nearest live camera in one click. If you want photorealistic terrain instead of the keyless Esri imagery, you add a Cesium ion token or a Google Maps key through the in-app POWER UP panel rather than editing .env by hand. The .env.example file documents what that panel does: it writes the checkout's .env with owner-only permissions and restarts the dev server, or writes pinokio/ENVIRONMENT under the Pinokio launcher. Keys you supplied yourself through the shell or Keychain are left alone and shown as configured externally.

## What is simulated, estimated, or coarse

The README is unusually direct about this, and it is the section to read twice. Traffic is simulated along real roads using aggregate location data. CCTV camera poses and rocket launch trajectories are coarse estimates. Those three sentences cover a lot of the visual drama. A camera view that looks like it is aimed at a specific street corner may be an estimated pose, and a line of vehicles on a highway is a generated pattern following real geometry. Neither is a live observation of a specific vehicle.

There is a second limit that the .env.example file states plainly: without a Google key or a Cesium ion token, the app starts on keyless Esri World Imagery with OSM available in the map tray and as the automatic provider-failure fallback. So the photorealistic 3D the project leads with is the part that depends on a credential with provider terms and quotas attached. The keyless experience is real and it works, but it is not the same globe. A third constraint is environmental rather than architectural: this is Cesium in a browser, so you are trading a desktop GIS workstation for WebGL, a tab and whatever your GPU will tolerate. The README's startup figure of a median 1.86-second cold start is labelled a point-in-time M5/Chrome capture and a comparison baseline, not a guarantee, and that framing is the right one to carry into your own machine.

## God's Eye View versus a desktop GIS or a hosted dashboard

The obvious comparison is QGIS or ArcGIS Pro. Those give you projection control, layer styling, geoprocessing and print-quality output, and they expect you to bring your own data. God's Eye View does the opposite: the data arrives live, the styling is a sensor-look shader, and the output is a camera tour you capture for a clip. If your task is to produce a defensible map with a documented projection and a reproducible query, a desktop GIS is the correct tool and this is not.

The other comparison is a hosted live-tracking dashboard. Those come with an operations team, an uptime number and a support contract, and you cannot read the code that decides what a contact means. God's Eye View runs locally, its layers are separate modules you can inspect, and its provider credentials are yours. The trade is that you own the failures. When a feed goes quiet or a provider quota runs out, no vendor is paged. The README's own framing, that you should "track the world live. Talk to it. Break it. Extend it," is an accurate description of a tool built for people who want the second and third verbs, not just the first.

## Maintenance, upgrade cost and the licence question

The repository is not archived, and the last push was on 2026-09-13, four days before this writing. It is a young project: the two releases listed are v0.1.0 (2026-08-31) and v0.1.1 (2026-09-01), and the second one is titled "Installation and live-data fixes." That release cadence says the install path is still settling, which is consistent with the README telling returning users to update Pinokio before retrying. Budget for the possibility that a fresh clone needs a fix that lands in the next patch.

The upgrade cost is mostly Node and dependency churn. The engines range excludes Node 25 entirely, so a machine on an odd-numbered release has to move before anything else works. Cesium is a large dependency and its 3D Tiles behaviour is version-sensitive, so a Cesium bump is a real testing task rather than a routine one. The scripts directory hints at what the maintainers already guard: npm test, npm run test:track, npm run check:boundaries and a map-source-tray QA script. Running those before you upgrade anything is cheaper than debugging a broken camera afterwards.

On licensing, there is a genuine discrepancy to resolve yourself. package.json declares "license": "MIT" and names Bilawal Sidhu as author, but the repository metadata reports the licence as NOASSERTION, which usually means GitHub could not match the LICENSE file to a known template. Read LICENSE directly. Separately, the provider keys carry their own terms: the README says Cesium ion tokens are for eligible personal, non-commercial use, and that Google Maps keys are metered with provider terms and quotas. The .env.example file also instructs you to restrict the two client-exposed keys by HTTP referrer and API restriction rather than trying to hide them. None of that is legal advice; it is a list of documents to read before you point this at anything you care about.

## Conclusion

Adopt God's Eye View if you want a local, inspectable globe for public feeds and you are willing to run Node 24.x or 26.x and read DATA_SOURCES.md before trusting any layer. Skip it if you need a hosted product with a support contract, or if you cannot run a browser with WebGL and a Cesium-based renderer. Verify first: the licence text in LICENSE (package.json says MIT, but GitHub reports NOASSERTION), the provider terms for GOOGLE_MAPS_API_KEY and CESIUM_ION_TOKEN, and which layers stay live when you remove keys.

## FAQ

### What is God's Eye View?

It is a browser-based spatial intelligence console built on Cesium that puts live aircraft, ships, satellites, earthquakes, traffic and public cameras on one photorealistic 3D globe. The README describes it as a spy-satellite simulator where the sources are public and the data is real.

### What do you understand by God's eye view?

In this project the phrase names a specific app, not a general concept: a local, inspectable globe that merges public feeds so you can move between a global picture and an individual aircraft, ship or street. The README states that each layer is a separate module and that you can inspect and extend the source.

### Where is the God's Eye View globe located?

It runs locally in your browser rather than on a hosted site. The terminal path serves it at http://localhost:4173, and the Pinokio path finds a free local port and opens the app for you.

## Sources

- [bilawalsidhu/gods-eye-view on GitHub](https://github.com/bilawalsidhu/gods-eye-view)
- [Issues](https://github.com/bilawalsidhu/gods-eye-view/issues)
- [Project website](https://maptheworld.ai/)
- [README](https://github.com/bilawalsidhu/gods-eye-view/blob/main/README.md)
- [Releases](https://github.com/bilawalsidhu/gods-eye-view/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bilawalsidhu-gods-eye-view
