A spy-satellite simulator in your browser β then you realize the sources are public and the data is real.
Photorealistic 3D globe. Live aircraft, ships, satellites, earthquakes, traffic, and public cameras, with clearly labeled modeled views where a live feed is unavailable. Hands-free voice control powered by a realtime AI agent.
No place left behind.
From the project behind the viral God's Eye View series (formerly WorldView) β 5M+ on YouTube
You asked, so it's happening. God's Eye View is open source. Track the world live. Talk to it. Break it. Extend it.
Most open-source intelligence is a pile of browser tabs. The signals are abundant, but the interface is the bottleneck. God's Eye View turns those signals into a place: the world is already broadcasting β flight transponders, ship beacons, orbital elements, seismographs, public cameras β and this makes it visible on a photorealistic 3D Earth in real time. No classified clearance required; it's public signal all the way down, and the interface runs in your browser, under your control.
Half the magic is that it looks like a forbidden cockpit. The other half is that every line of code is inspectable.
The live layers are grounded in public feeds: the airliner crossing your screen is reporting telemetry, the camera is installed at a published location, and the ISS position is propagated from current orbital elements. The client deliberately renders flights one polling interval behind real time so it can interpolate smoothly. Some experiences are modeled rather than live: keyless traffic is labeled 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, including partial, delayed, simulated, and unavailable states.
π©οΈ Cockpit view: Ride inside a tracked flight β the camera holds the terrain under you all the way down.π‘ Contacts: A 250 km roster of everything near your target β step through live aircraft and drop into any cockpit.π― Click-to-track anything: Camera locks on, draws a fading trail, surfaces full metadata β and a tracked fire or vessel hands you off to the nearest live camera in one click.ποΈ Voice whiteboard: Speak annotations onto the world β real boundary polygons, marks, and routes.π« 3D hangar: Real per-class aircraft models β 787, ATR-72, Citation, Bell 206, MQ-9 β and a tracked contact swaps from glyph to 3D model as you close in.π¨ Reskin reality: GLSL sensor looks over the normal globe β CRT, NVG, FLIR/thermal, Noir, Snow.π© Detection overlay: Screen-space bounding boxes and IDs on everything in view.ποΈ Military HUD: Tactical heads-up display with intelligence-style telemetry.π Global Context: Stage the full situational picture with one switch β and get your exact view back when you leave.π₯ Scene director: Capture cinematic camera tours for clips and demos.π Share Links: Camera, style, layers, and even one tracked target serialize into a URL β a live target is a handoff, not a bookmark.π Reset Globe: One control β or one sentence β back to the full Earth.
Requires Node.js 24.14.x or 26.x (enforced by package.json
).
- Copy
.env.example
β.env
and setGOOGLE_MAPS_API_KEY
. - Install and run:
npm install
npm run dev -- --host localhost --port 4173
- Open
. Cold start settles in under two seconds on a recent laptop (median 1.86 s in a point-in-time M5/Chrome capture β
http://localhost:4173
docs/PERFORMANCE.md; a comparison baseline, not a hardware requirement). A first-run card offers to stage a mission for you βLive Contacts,** Space Missions**,** Environmental**β or leaves you to explore manually.
That one key is the whole entry fee. Everything in this README is color-coded β π’ needs nothing Β· π‘ free key Β· π΄ metered β and Google Maps is the only π΄ you need: it buys the photorealistic planet, and most of the globe lights up π’ from there. Full map in Keys & Costs.
The dev server binds to localhost β your keys stay on your machine. Sharing on a LAN and the cost rails live in Keys & Costs and SECURITY.md.
macOS shortcut: ./scripts/dev-fresh.sh
clears the Vite cache and pulls your keys straight from the Keychain.
No account, no signup. The first-run card will offer to stage a mission for you β or run this gauntlet yourself. Somewhere in these five minutes it stops feeling like a demo:
Light up the sky. Take theLive Contacts mission (or turn onFlights yourself) β thousands of live aircraft, gliding on real telemetry, detection mesh already reading the scene. Click one: the camera locks on, a trail draws behind it, and its live telemetry card comes up.Take the controls. HitCOCKPIT on your tracked plane and ride it down, switching sensors mid-flight: NVG into Ironbow FLIR.
Drop into a busy airport. Search one and descend to the taxiways with3D aircraft on β grounded contacts, taxi trails, the whole apron working in real time.
Look through a public camera. Turn onCCTV over Austin, London, or California. The feeds aren't webcam embeds β they projectintothe 3D city. Cycle coverage toVIEWSHED and every camera draws its estimated coverage volume β where it reaches, and where it goes blind.
Track something in orbit. Turn onSatellites and click the ISS β you ride along at orbital distance, orbit ring and all.
Switch the optics. Tap1
β7
β CRT, NVG, FLIR β and the whole live planet re-renders through a different sensor.
Talk to it*(needs an OpenAI key):"Take me to LAX and select the nearest airborne aircraft."Come home. HitReset Globe*β or just say*"zoom out to a globe view."*
Keyboard: 1
β7
visual styles Β· H
HUD Β· D
detection Β· C
cockpit Β· Esc
out.
Every plane should let you do this.
Real-time cockpit mode, built from live flight data: the camera rides your contact with real terrain holding underneath, all the way down β sensor styles come along for the ride, and Contacts keeps the 250 km roster one click away: jump plane to plane and fall straight into the next cockpit.
The cockpit even carries its own briefing strip: nearby live signals, regional headlines, and real local weather β with an opt-in WX mode that renders volumetric clouds from actual observations around your aircraft.
Why cockpit mode exists: you're riding a real aircraft over real terrain β and you get to pick which sensor you see the world through.
Voice needs an
OpenAI key. Without one the entire app still runs β the mic button just reports voice is unavailable. The same key drives theAI HUD summary: a terse, five-word intelligence-style readout of the current view that regenerates as you move.
Click GEV MIC, grant the microphone, and just talk. This is more than a voice-controlled remote:
π§ It knows what it's looking at. The agent pulls live scene context before answering β including coordinates, street names, active layers, and view scale. Ask*"what city is this?"mid-flight and it knows.π― Entity Q&A. Click any plane, ship, or datacenter and ask"what's this?"It answers using the object's live telemetry.ποΈ Visual grounding. At street level, it reads a viewport screenshot to identify legible signage and building names, and is instructed never to hallucinate labels.π¬ Cinematic framing."Show me the planes overhead"*pulls the camera back, angles it, and frames the live traffic like a director.π Honest and secure. The agent only confirms actions that succeeded. YourOPENAI_API_KEY
never touches the browser; the client only gets a short-lived session token.
Twenty-eight tools, four jobs β the commands below come straight from the product's voice test suite and tool playbook:
π₯ Direct it β drone-operator camera verbs:
π£οΈ
"Take me to Tokyo."Β·"Orbit around this area slowly."Β·"Draw the walking route from the Capitol to Zilker Park."β"Fly the route we just drew."Β·"Zoom out to a globe view."
ποΈ Annotate it β a whiteboard over the real world:
π£οΈ
"Outline the state of Texas."Β·"Annotate the Texas State Capitol and its grounds"β it draws theactual enclosing boundary, not a circle. Β·"How far is the Eiffel Tower from the Louvre?"β a connector arrow appears and it speaks the distance. Everything persists until you say"clear the map."
π Interrogate it β analyst queries against the live layers:
π£οΈ
"How many flights are over Texas right now?"Β·"Which ships are headed to Oakland?"Β·"What is the biggest fire near Los Angeles?"Β·"Is anything flying above forty thousand feet?"Β·"When does the ISS pass over next?"
ποΈ Operate it β the whole console, hands-free:
π£οΈ
"Switch to night vision and turn on the flights layer."Β·"Turn on the camera viewsheds."Β·"Play a news radio station near Austin."Β·"Track that plane."β"Enter Cockpit."
And the rapid-fire tier β one sentence each:
π£οΈ
"Show me global infrastructure."(stages the layers and pulls back to the globe) Β·"Play Orbital Watch."(a full cinematic scene) Β·"Set detection density to fifty percent."Β·"Next contact β helicopters only."(mid-cockpit) Β·"Show me space missions."Β·"Switch to Bing aerial."Β·"Sharpen the image a touch."Β·"Switch to the tactical layout."Β·"What's turned on right now?"
Ask for radio near anywhere and the globe starts broadcasting β every station is a real place you can fly to.
Thirteen live layers. Ten of them need nothing at all β no key, no account, no signup. (π’ nothing Β· π‘ free key Β· π΄ metered.)
| Layer | What you get | Source | Auth |
|---|---|---|---|
| πΊοΈ Map Stack | |||
| Google Photorealistic 3D, Bing aerial, OSM | Google / Ion / OSM | π΄ Google (required) Β· π‘ ion for Bing Β· π’ OSM | |
| Live Flights | |||
| Thousands of live aircraft + route history | OpenSky + adsb.lol | π’ (π‘ optional for more polling credits) | |
| ποΈ Military Flights | |||
| ADS-B military traffic in amber | adsb.lol | π’ | |
| π’ Live Vessels | |||
| Thousands of ships worldwide | AISStream | π‘ | |
| π°οΈ Satellites | |||
| A roughly 840-object core catalog, color-coded by class with a live legend β the DENSE chip drops in the whole Starlink shell | |||
| CelesTrak | π’ | ||
| π Earthquakes | |||
| Global seismic activity, last 24h | USGS | π’ | |
| π Traffic | |||
| Live congestion driving per-vehicle flow at street level β dive below ~8 km and the dots color to real jams. Keyless it's an approximate simulation | TomTom + OSM | π’ (π‘ TomTom makes it real β get one) | |
| πΉ CCTV Mesh | |||
| ~800 public cameras projected into the 3D space β Austin Β· California (Caltrans) Β· London (TfL). Positions are published; poses are estimated priors you calibrate by dragging a gizmo on the camera itself | |||
| City APIs | π’ | ||
| π» Radio | |||
| Geolocated world radio with an analog tuner β drag the needle across up to 750 stations and the globe flies to each broadcaster | |||
| Radio Browser / broadcasters | π’ | ||
| π² Bikeshare | |||
| Live station availability | GBFS | π’ | |
| π₯ Active Fires | |||
| Live NASA FIRMS detections, trailing 24h | NASA FIRMS | π‘ | |
| π Space Missions | |||
| Rolling 30-day launches with payload, stage, and recovery detail | Launch Library 2 | π’ (π‘ optional token raises the allowance) | |
| ποΈ Mapped Installations | |||
| Viewport-bounded military-site context from community mapping β incomplete by nature, and labeled that way | OpenStreetMap | π’ |
The Space Missions layer replaying a Falcon 9 ascent β labeled RECONSTRUCTED ESTIMATE, scrubbable 0.25Γβ4Γ.
Also on the globe: neighborhood overlays Β· an optional cockpit WX cloud effect. Bundled static infrastructure: Datacenters (4,351), Dams (704), and Submarine Cables (712).
Missing a layer you want? Open an issue β or add it and send the PR.
Once the basics click, run these:
| Mission | How |
|---|---|
| π Ask the planet | |
| "Why are all these military helicopters flying in circles?" Select a military track β it silently backfills ~24 h of real trace history β and see what it's been doing, resolved as stacked 3D loops. | |
| Click-track an airliner lining up for a runway, hop into the cockpit, and ride it down. | |
| π Night watch | |
| Fly to your own city, switch to NVG, and let the detection mesh and HUD read the scene. | |
| π’ Port call | |
| Vessels on over the Port of Long Beach. Click a tanker for its tactical card and wake trail β then hit NEAREST in the CCTV panel and look at the same water through a public camera. | |
| π» Tokyo FM | |
| Orbit Shibuya with the Radio layer on β then drag the analog tuner needle: every position snaps to a real station and the globe flies to whoever's broadcasting. | |
| π₯ Fire line | |
| FIRMS over California. Click a detection β the camera dives to it β read the intensity, then hit NEAREST in the CCTV panel for a ground view. | |
| πΆ Ask for a walking route ποΈ | |
| Tell the world where you want to go and watch a real street-following route trace itself through the 3D city β then "fly it": banked turns, eased ends, a camera that leads the path like a drone shot. | |
| π Measure LAX to DFW ποΈ | |
| "How far is LAX from DFW?" β an arrow spans the country, the distance lands in the caption, and the endpoints stay pinned to the real world as you orbit. | |
| π Launch replay | |
Open Space Missions, pick a launch from the last 30 days, and ride the T-minus countdown through ascent to orbit β scrub it at 0.25Γβ4Γ. Labeled RECONSTRUCTED ESTIMATE , because it is one. |
|
| πͺ¦ Walk the boneyard | |
| Fly from regional context down into dense, fully resolved rows of retired aircraft. | |
| ποΈ Orbit Three Gorges | |
| Sweep the dam and its terrain at a glance β then flip on the Dams layer and find 703 more. |
ποΈ = voice missions β they need an OpenAI key.
Ask the planet: a military contact's last ~24 hours of real trace history, resolved as stacked 3D loops.
"Draw the walking routeβ¦ now fly it" β banked turns, eased ends, the camera leading the path like a drone shot.
Walk the boneyard: rows of retired airframes, fully resolved in 3D.
Some of the engineering that makes it feel real rather than like a tech demo:
World-stable icons. Aircraft and ships point along theirtrue real-world headingat every camera angle β tracked or not, looking straight down or across the horizon β via per-frame screen-space course projection. No spinning, no viewport-locking.Smooth motion from choppy data. Live feeds arrive every 15β30s; the globe renders one interval behind real time and interpolates between known fixes. Dead reckoning fills the gaps.Honest satellites. SGP4 propagation with orbit rings that stay locked to their satellites via GMST realignment β no drift, no per-second flicker.Sits on the real ground. Entity heights run through a real vertical datum β geoid-aware, sampled against therenderedterrain mesh β so aircraft park on aprons and cameras stand on street corners instead of floating.Spends your quota like it's its own. The paid feeds run behind cached, budget-governed proxies β an OpenSky credit governor, a TomTom daily tile budget, disk-cached TLEs β so an afternoon of exploring doesn't torch an API allowance.Local-first key handling. Secret-bearing providers such as OpenAI, AISStream, OpenSky OAuth, TomTom, and FIRMS are brokered server-side. Proxy destinations are fixed or allowlisted, and the higher-risk paths add bounded requests, timeouts, response caps, and sanitized errors as appropriate. The only provider credentials intentionally exposed to the browser are Google Maps and Cesium ion; restrict both at the provider.No framework. Vanilla JavaScript,CesiumJS, and** Vite**β plus** Google Photorealistic 3D Tilesfor the planet and the OpenAI Realtime API**for voice. Fast to read, fast to hack on.
src/
βββ main.js # Bootstrap: Google 3D tiles, layer registration
βββ ui.js # Runtime UI β panels, HUD, styles, control facade
βββ hud.js # Intelligence HUD + AI scene summary
βββ mapStackController.js # Google 3D / Bing / OSM switching
βββ iconOrientation.js # Screen-projected world-space headings + horizon cull
βββ voice/ # OpenAI Realtime session + 28 voice tools
βββ data/ # One module per layer + management + context store
β βββ local_data/ # Bundled datasets (per-folder provenance)
βββ scenes/ # Cinematic scene director
See docs/CURRENT-STATE.md for the authoritative runtime reference.
The legend, one more time: π’ no signup β works out of the box Β· π‘ free key β register, paste, done Β· π΄ metered β a billing-enabled account; costs are small but real.
Most of the globe is π’: flights (anonymous), military traffic, satellites, earthquakes, CCTV, radio, bikeshare, space missions, mapped installations, and every bundled dataset run with zero keys.
Five keys cover the fully keyed experience. Three currently offer no-cost developer access; Google Maps and OpenAI are usage-metered. Provider prices and allowances change, so use the linked pricing pages before relying on a budget estimate:
| Key | Why | Get it | |
|---|---|---|---|
| π΄ | Google Maps (required) | ||
| The photorealistic 3D planet ( | |||
Google Cloud Consoleβ metered;check current pricingand URL-restrict itOpenAIplatform.openai.comβ metered;check current API pricing** AISStream**aisstream.ioβ free, seriously, it's a two-minute signup** NASA FIRMS**firms.modaps.eosdis.nasa.govβ free** TomTom**developer.tomtom.comβ check the current developer allowance for your accountWhat the TomTom key buys you: rush-hour density painted on the city β then dive from the jam straight into the camera watching it.
| Key | Why | Get it | |
|---|---|---|---|
| π‘ | Cesium ion | ||
πΊοΈ Bing imagery map stacks (public assets:read token) |
|||
OpenSkyopensky-network.org** Launch Library 2**thespacedevs.comAll of them are worth getting. None of them are required to start.
OPENAI_API_KEY="β¦" AISSTREAM_API_KEY="β¦" npm run dev -- --host localhost --port 4173
security add-generic-password -U -s "google-maps-api" -a "api-key" -w
security add-generic-password -U -s "openai-api" -a "api-key" -w
security add-generic-password -U -s "aisstream-api" -a "api-key" -w
security add-generic-password -U -s "firms-map" -a "map-key" -w
security add-generic-password -U -s "cesium-ion" -a "token" -w
security add-generic-password -U -s "tomtom-api" -a "api-key" -w
OpenSky can run fully anonymous (OPENSKY_AUTH_MODE=anon
), or import OAuth credentials with ./scripts/opensky-import-client.sh /path/to/credentials.json
.
Honest numbers, roughly, as of mid-2026 β always check the provider pricing pages:
| Cost reality | |
|---|---|
| π’ Most layers | |
| $0, no signup. OpenSky anon, USGS, CelesTrak, adsb.lol, city CCTV, Radio Browser, GBFS, Launch Library 2, bundled datasets. | |
| π‘ Optional developer access | |
| AISStream, FIRMS, TomTom, Cesium ion, and authenticated OpenSky may offer no-cost access, but limits and permitted uses differ. Cesium ion and OpenSky in particular have plan or use restrictions; verify the current provider terms for your deployment. | |
| π΄ Google 3D tiles | |
| Map Tiles usage is billed by session, with current prices and free-usage caps varying by billing region. Check Google's pricing page, restrict the key, set quotas, and configure a budget alert before sustained use. | |
| π΄ OpenAI voice | |
| Realtime audio is usage-metered and the total depends on the selected model, conversation length, and audio volume. The app shows a live session estimate, warns at $2, and applies a $5 in-app session cap; provider-side usage limits remain the billing backstop. |
Everything above is the deliberately cheap baseline β enough to get a real taste of geospatial intelligence, GEOINT, and OSINT without ever talking to a sales team. You'll also notice the ceiling: terrestrial AIS goes quiet mid-ocean and satellite AIS costs real money; premium imagery, SAR, and the deeper commercial feeds live behind enterprise contracts. That's not a limit of the architecture β every layer here is a pattern you can point at your own data sources. This repo hands you the foundation; what you fuse into it is up to you.
By default nobody else can reach your server β it binds to localhost. To share on your LAN, opt in explicitly (npm run dev -- --host 0.0.0.0 --port 4173
, or HOST=0.0.0.0 ./scripts/dev-fresh.sh
on macOS/Linux) β but know that a LAN-visible server brokers your configured API keys to anyone who can reach it. Set the per-IP throttles (GEV_RATELIMIT_OPENAI_PER_MIN
, GEV_RATELIMIT_GOOGLE_PER_MIN
β see .env.example
) and, before anything else, set provider-side budget caps (Google Cloud budgets, OpenAI usage limits): the throttles are app-level guards, not billing caps. Full threat model in SECURITY.md.
God's Eye View runs on public data, clear sources, and local-first execution. No secrets, no private datasets, no mystery scraping β anything involving a private key is brokered server-side. It has the visual grammar of a classified ops room, built entirely from open signals and inspectable code.
The line. This project models events, assets, infrastructure, and systems β aircraft, vessels, satellites, fires, cameras, cities. It does not build features for named-person search, face recognition, or tracking individuals, and pull requests that cross that line won't be merged. People are not a query type here.
Come build it. This is the canonical live 3D client from the project that kicked off the recent wave of spatial-intelligence tools β and it's a canvas: the layers here are the signals one person could find and fuse. Add a city pack, a data source, a style, a voice tool. It's the window through which you see the world; bring that window to others.
Status: An evolving open-source client for exploration and learning β a fast, hackable foundation, not a hardened production service. Released under the ** MIT License**. Bundled and live datasets carry their own terms β see
. Security model:
DATA_SOURCES.md. Want to contribute?
CONTRIBUTING.mdMedia note: Bilawal Sidhu created and owns the 17 capture GIFs on this page. He also published the two README PNGs in the existing public project and authorized their continued inclusion here. Any appearance by Bilawal is included with his permission. These files are project documentation, not MIT-licensed standalone assets. Platform interfaces, trademarks, avatars, data, and third-party imagery visible within them remain subject to their respective owners' terms. See media provenance and source terms.
Important
God's Eye View is an exploratory visualization of public and third-party data. Data may be delayed, incomplete, modeled, inferred, or wrong. Do not use it for flight or maritime navigation, emergency response, medical or health decisions, investment decisions, or other safety-critical or operational purposes. Verify important information with authoritative sources.
First β thank you. To everyone who watched the God-view demos and went off to build their own, and to everyone who kept asking for the code: I'm grateful. And when I polled whether this should go open source, you weren't subtle about it:
So here it is. Step inside the spy-thriller cockpit β except the data is real β and let's turn this into our shared sandbox for making sense of the world, and have fun doing it. This repo is the baseline, it stays open, and the whole point is for you to break things and bolt on layers we haven't thought of yet.
One heads-up from the inside: build in this space for a week and you learn that the present is the cheap part. The moment you try to go back in time β tiling, serving, and scrubbing what happened and what changed at any real resolution β the data gets expensive and the compute gets brutal. For that, we're building something cool. More in the future β halfpixel.ai.
Watch the God's Eye View series Β· π¬ Map the World β the newsletter behind the project
π God's Eye View. No place left behind.