# God's Eye View puts public signals on a browser globe

> God's Eye View is a JavaScript application that renders live aircraft, ships, satellites, earthquakes and public cameras on a photorealistic 3D Earth, and labels which layers are live, partial, delayed, simulated or unavailable. It needs a Google Maps key, a very recent Node.js, and a fair amount of GPU to render, and the fork's camera packs are the part with a licence question attached.

**uhrichsam4/gods-eye-view** — God's Eye View — live global camera map. Fork with world camera packs (~5,200 cameras, 20 countries), map labels, and production hosting.

- Repository: https://github.com/uhrichsam4/gods-eye-view
- Stars: 559 · Forks: 109
- Language: JavaScript
- License: NOASSERTION
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/uhrichsam4-gods-eye-view

## The premise: the signals are public, the interface was the problem

The README frames the project as a response to a complaint about open source intelligence being a pile of browser tabs. The argument is that the signals are abundant but the interface is the bottleneck, so the contribution is turning them into a place: a photorealistic 3D Earth where flight transponders, ship beacons, orbital elements, seismographs and public cameras are visible at once. The live layers are grounded in public feeds, with the airliner on screen reporting telemetry, the camera sitting at a published location, and the ISS position propagated from current orbital elements. What makes the project more than a demo is stated in its own tagline, that the sources are public and the data is real, and the emphasis on inspectable code. The point of interest for an engineer is the labelling, which is covered next.

## Every layer says whether it is real

This is the detail that separates the project from a map with blinking dots on it. The client deliberately renders flights one polling interval behind real time so it can interpolate smoothly, and that trade is stated rather than hidden. Some experiences are modeled rather than live: keyless traffic is labelled as a simulation, camera poses are estimated until calibrated, and launch ascent playback is marked RECONSTRUCTED ESTIMATE. Each layer keeps its source and freshness state visible, with partial, delayed, simulated and unavailable as named states. The README also frames the visual style deliberately, noting that half the effect is that it looks like a forbidden cockpit and the other half is that every line of code is inspectable. For a tool that renders military-style overlays, the freshness labelling is the difference between a visualization and a claim.

## Getting it running takes one key and a recent Node

The quick start requires Node.js 24.14.x or 26.x, which is enforced by the package.json, and the setup begins with copying .env.example to .env and setting GOOGLE_MAPS_API_KEY. Then it installs and runs:

```bash
npm install
npm run dev -- --host localhost --port 4173
```

You open http://localhost:4173 and the first-run card offers to stage a mission for you, with Live Contacts, Space Missions and Environmental as the options, or leaves you to explore. The README describes the cold start as settling in under two seconds on a recent laptop, with a median of 1.86 seconds in a point-in-time M5 and Chrome capture that it presents as a comparison baseline rather than a hardware requirement. On macOS there is a shortcut, since ./scripts/dev-fresh.sh clears the Vite cache and pulls your keys straight from the Keychain. The dev server binds to localhost, and the README is explicit that this is deliberate so your keys stay on your machine.

## The key situation, stated plainly

The README uses a colour code for its key requirements: green needs nothing, yellow wants a free key, and red is metered, and it says Google Maps is the only red one you need, because it buys the photorealistic planet while most of the globe lights up green from there. The .env.example expands on the cost side. The Google Maps key is required with the Map Tiles API enabled. There is an optional per-IP rate limit for the Google Places cost endpoint at /api/google/nearby-places, which defaults to unlimited, and the comment is careful about what that limit is and is not: it is a process-local in-memory guard that resets on restart and returns a sanitized 429, and it is not a billing cap, with provider-side budget alerts recommended instead. A Cesium ion token is optional for Bing world imagery stacks and Cesium World Terrain, and an OpenAI key is optional for the realtime voice control, with a model default of gpt-realtime-2 and a cheaper tier behind a MINI toggle.

## What the application actually renders

The feature list describes a cockpit view where the camera holds the terrain under a tracked flight, a contacts roster of everything within 250 km of your target, and click-to-track that locks the camera, draws a fading trail and surfaces full metadata. A tracked fire or vessel hands you off to the nearest live camera in one click. There is a voice whiteboard that turns speech into real boundary polygons, marks and routes on the globe, a 3D hangar with per-class aircraft models including 787, ATR-72, Citation, Bell 206 and MQ-9, and a detection overlay of screen-space bounding boxes with IDs. The optics are GLSL sensor looks over the normal globe, with CRT, NVG, FLIR and thermal among the styles listed, and a tactical heads-up display with intelligence-style telemetry sits over the top. Everything is a layer you can switch, and a share link serialises camera, style, layers and even one tracked target into a URL.

## The stack is Cesium with a custom data layer

The package manifest names the project gods-eye-view at version 0.1.0, marked private, authored by Bilawal Sidhu, with the repository pointing at github.com/bilawalsidhu/gods-eye-view rather than the fork it sits in. The runtime dependencies are few and specific: cesium at 1.124 for the globe, @mapbox/vector-tile and pbf for vector tile handling, satellite.js for orbital propagation, egm96-universal and mgrs for geodetic and military grid reference work, which is what makes the military-style coordinate readout possible. The dev dependencies are vite at 6, vite-plugin-cesium, puppeteer for browser-driven testing, sharp for image work and ws for websockets. The scripts are revealing about the project's maturity, with unit tests, a track regression test, a QA script for the map source tray, an opensky import client and a dev-secure variant that binds differently from the plain dev script.

## Where this project is the wrong tool

Three cases. The first is a deployment that cannot carry a metered Google Maps bill or expose a client-side key, since the .env.example is blunt that the Google Maps key and the Cesium ion token are injected into the browser bundle by design and will be visible in devtools, with restriction and scoping recommended instead of hiding them, and the SECURITY.md and DEPLOY.md files in the repository tree are where that story is finished. The second is a machine without a capable GPU, since a photorealistic globe with a 250 km contact roster, 3D aircraft models and shader-based sensor looks is not a lightweight page. The third is a commercial product, and here the fork matters. The repository description advertises fork-specific world camera packs of roughly 5,200 cameras across 20 countries alongside the map labels and production hosting, and the licence recorded for the repository is a custom one that GitHub cannot classify, while the package manifest says MIT. A team shipping this should read the LICENSE file and the provenance of the camera packs before assuming either.

## Conclusion

God's Eye View is a good fit for an OSINT hobbyist or a developer who wants to build on a working geospatial console, since the layers are documented with their sources and their honesty about what is modeled is unusual. It is a poor fit for a production deployment without a Google Maps budget, for a machine without a discrete GPU, and it is a poor fit for a commercial product, because the repository's own description points at fork-specific camera packs and the licence is recorded as a custom one rather than a standard grant. Check three things before you run it: that you have a Google Maps API key with the Map Tiles API enabled, since the README calls that the only metered key you need, that your Node.js is 24.14.x or 26.x as the package.json engines field enforces, and that you read the LICENSE file yourself, because the repository licence is a custom one that GitHub cannot classify and the camera packs carry their own provenance.

## FAQ

### What does God's Eye View show on the globe?

Live aircraft, ships, satellites, earthquakes, traffic and public cameras, rendered on a photorealistic 3D Earth with layers for cockpit view, a contacts roster within 250 km, click-to-track, a voice whiteboard, 3D aircraft models, GLSL sensor styles, a detection overlay and a military heads-up display.

### Which API keys does God's Eye View need?

A Google Maps API key is required, with the Map Tiles API enabled, and the README calls it the only metered key you need. A Cesium ion token for Bing world imagery and Cesium World Terrain and an OpenAI key for realtime voice control are both optional, and the dev server binds to localhost so your keys stay on your machine.

### How does God's Eye View show which data is real?

Each layer keeps its source and freshness state visible, with partial, delayed, simulated and unavailable as named states. Keyless traffic is labelled as a simulation, camera poses are estimated until calibrated, launch ascent playback is marked RECONSTRUCTED ESTIMATE, and flights are rendered one polling interval behind real time so the client can interpolate smoothly.

### How do I run God's Eye View locally?

Copy .env.example to .env, set GOOGLE_MAPS_API_KEY, then run npm install and npm run dev -- --host localhost --port 4173, and open http://localhost:4173. It requires Node.js 24.14.x or 26.x, which the package.json engines field enforces, and on macOS ./scripts/dev-fresh.sh clears the Vite cache and pulls keys from the Keychain.

### Can I share a view of God's Eye View with someone else?

The share link feature serialises camera, style, layers and even one tracked target into a URL, so a live target is treated as a handoff rather than a bookmark. The repository also ships DEPLOY.md, SECURITY.md and a render.yaml for production hosting.

## Sources

- [Issues](https://github.com/uhrichsam4/gods-eye-view/issues)
- [README](https://github.com/uhrichsam4/gods-eye-view/blob/main/README.md)
- [uhrichsam4/gods-eye-view on GitHub](https://github.com/uhrichsam4/gods-eye-view)

---

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