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.
About bilawalsidhu/gods-eye-view
bilawalsidhu/gods-eye-view is an open-source project on GitHub, mainly written in JavaScript. A spy satellite simulator in your browser, except the data is real. Live open source spatial intelligence on a photorealistic 3D globe. It currently holds 39,393 stars and 7,969 forks with 226 open issues, and was last pushed on 2026-09-17 (repository created 2026-06-22).
Project Overview
Git Homed tracks it on the Today's Trending board.
GitHub Repository Details
README
🌐 God's Eye View
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. 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 · 25M+ across socials
🏆 Reached #1 on GitHub Trending, daily and weekly · August 2026
#8 Product of the Day · Hunted by Chris Messina, creator of the hashtag
_“pretty cool”_ — Brendan Eich, creator of JavaScript and co-founder of Mozilla and Brave · Featured on Pinokio
⚡ Start without API keys. Install with Pinokio or run locally from the terminal. Add optional keys inside the app. → Quick Start
---
Quick Start · First Five Minutes · Talk to It · What's Live · Under the Hood · Keys & Costs · Contributing
---
🌍 Why This Exists
God's Eye View brings public signals into one explorable globe. Track the world live. Talk to it. Break it. Extend it.
Flight transponders, ship beacons, orbital elements, seismographs, and public cameras already tell us a lot about the world. God's Eye View puts them in the same place, so you can move between a global picture and an individual aircraft, ship, or street. It runs locally in your browser, with source code you can inspect and extend.
Half the magic is that it looks like a forbidden cockpit. The other half is that every line of code is inspectable.
Most feeds are live or regularly refreshed. Traffic is simulated along real roads using aggregate location data. CCTV camera poses and rocket launch trajectories are coarse estimates.
Start with the included data sources, then add your own. Each layer is a separate module.
---
🎛️ What This Thing Does
- 🛩️ 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.
- 🌦️ Weather: Animate GFS or ECMWF forecast wind, replay observed radar, satellite clouds and lightning on one timeline, and follow NHC/CPHC cyclone tracks. No key needed.
- 📷 Mapped ALPR cameras: License-plate-reader camera locations tagged in OpenStreetMap, one city at a time. Locations and tags only; no key needed.
- 🔭 Satellite passes: Ask by voice when any loaded satellite next rises over you: rise, peak and set times, and whether you can see it.
- 🔎 Analyst answers: Count, filter and rank satellites, datacenters and dams by voice, alongside flights, ships, fires and quakes; answers say when a feed is stale or on a fallback.
- 🧭 Tilt and North Up: Switch between straight-down and a 35° oblique, or put north at the top, while a tracked target stays centered.
- 🔍 Keyless search: Type coordinates or a bundled city or landmark to fly there with no network request; other names use Google when configured, then Photon and Nominatim.
- 📦 Shareable scenes: Import, preview and share Director scenes as files or bundles, with camera anchors, authored moves and data packs.
- 🌊 Nepal flood scene: Replay the Bhote Koshi flood: flood path, witness sources and before-and-after imagery (bundled data is non-commercial; see DATA_SOURCES.md).
⚡ Quick Start
Start without an account or API keys. Both paths open the same app with Esri satellite imagery and keyless terrain. OSM is the fallback if Esri is unreachable. Flights, military traffic, satellites, earthquakes, public cameras, radio, and launches are available without keys.
For photorealistic 3D, add a Cesium ion token for eligible personal, non-commercial use, or a Google Maps key for the direct, metered route and Google place search. Provider terms and quotas apply. Add keys through the app's POWER UP panel; Keys & Costs explains the options.
Already installed? Update to the latest version. Older versions query
public OpenStreetMap Overpass servers, which now refuse them, so Traffic,
Mapped Installations and ALPR stay empty until you update.
Path 1 — One click, no terminal
1. Install or update Pinokio to 8.2 or later. 2. Open God's Eye View in Pinokio. 3. Click Install, then Start.
Available on Windows, macOS, and Linux. The Pinokio maintainer reports cross-platform testing of the fixed installer. The launcher installs the locked dependencies, finds a free local port, and opens the app.
Tried before and installation failed? Update Pinokio and try again. Version 8.2 fixes the launcher installation issue; details from the Pinokio maintainer.
Path 2 — Terminal / coding agent
Use Node.js 24.x (24.14.0 or later) or 26.x. The setup doctor warns about Node 25, which is end-of-life.
git clone https://github.com/bilawalsidhu/gods-eye-view.git
cd gods-eye-view
npm ci
npm run doctor
npm run dev
Open http://localhost:4173. Choose Live Contacts, Space Missions,
Environmental, or Explore Manually from the first-run panel.
Startup performance
A point-in-time M5/Chrome capture measured a median 1.86-second cold start. This is a comparison baseline, not a guarantee for your machine or connection. See docs/PERFORMANCE.md.
macOS shortcut: ./scripts/dev-fresh.sh clears the Vite cache and pulls any
configured keys straight from the Keychain. It starts keyless too.
Then power it up — in the app, not in a file
Keys are upgrades, not prerequisites. When you want one, click the POWER UP
chip in the bottom-right corner: Provider Settings lists every supported key,
what it switches on, and where to get it. Paste, hit SAVE KEYS, and the app
restarts itself with the new capability on. Once everything is configured the
chip reads POWERED UP — and if a compact layout hides it, ?setup=1
reopens the same panel.
- Where keys land: Pinokio → the app's ignored
pinokio/ENVIRONMENT; a
.env. Either file is made owner-only
_before_ a secret is written into it. These are local plaintext files,
excluded from Git; the app uses your keys to contact the providers.
- Keys you already have stay yours: values from your shell or the macOS
- What to get first: the free Cesium ion token
Older Pinokio versions and credential storage
Do not enter credentials in Pinokio 8.0.40's native Configure panel: that
release does not save this nested app file correctly, and it logs submitted
values. Use POWER UP → Provider Settings inside GEV instead. The Pinokio
8.2 announcement fixes installation; it does not establish that this separate
Configure issue is resolved. On macOS, the Keychain via
./scripts/dev-fresh.sh remains the stronger storage option.
The server binds to localhost on both paths, and Provider Settings answers requests only from your machine. Browser-side keys (Google Maps, Cesium ion) must be restricted at their providers — SECURITY.md shows how, and it carries the LAN-sharing rules alongside Keys & Costs.
---
🕐 The First Five Minutes
Choose a first-run mission, or try these in order. The GIFs show Google Photorealistic 3D; your starting basemap depends on the keys you've added.
1. Light up the sky. Take the Live Contacts mission (or turn on Flights 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. 2. Take the controls. Hit COCKPIT on your tracked plane and ride it down, switching sensors mid-flight: NVG into Ironbow FLIR.
3. Drop into a busy airport. Search one and descend to the taxiways with 3D aircraft on — grounded contacts, taxi trails, the whole apron working in real time.
4. Look through a public camera. Turn on Cameras over Austin, London, California, Finland, or Delaware (live video). The feeds aren't webcam embeds — they project _into_ the 3D city. Cycle coverage to VIEWSHED and every camera draws its estimated coverage volume — where it reaches, and where it goes blind.
5. Track something in orbit. Turn on Satellites and click the ISS — you ride along at orbital distance, orbit ring and all.
6. Switch the optics. Tap 1–7 — CRT, NVG, FLIR — and the whole live planet re-renders through a different sensor.
7. Talk to it _(needs an OpenAI key)_: _"Take me to LAX and select the nearest airborne aircraft."_ 8. Come home. Hit Reset Globe — or just say _"zoom out to a globe view."_
Keyboard: 1–7 visual styles · H HUD · D detection · C cockpit · ` ` frame rate · Esc` out. Trackpad pinch zooms the globe.
---
🛩️ The Cockpit
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._
---
🎙️ Talk to It
Voice needs an OpenAI key. Without one the entire app still runs — the mic button just reports voice is unavailable. The same key drives the AI 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. Your
OPENAI_API_KEYnever touches the browser; the client only gets a short-lived session token.
🎥 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 the actual 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."_
✍️ Or draw it yourself — DISPLAY ▸ Draw: pick Area, Line or Pin, click the vertices on the real world, double-click to finish, label it. Same whiteboard, same persistence, no microphone needed.
🔎 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?"_ · _"How many datacenters are in view?"_
🎛️ 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 OSM."_ · _"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._
---
💬 Or ask from Claude and Codex. God's Eye View is also an MCP server: ask Claude Desktop, Codex or ChatGPT desktop to show a place, and the live globe opens right in the conversation. Setup takes a minute — see docs/MCP_SETUP.md.
🛰️ What's on the Globe
Nineteen layers and map sources. Seventeen have a keyless path. Some offer additional capabilities with a provider key. (🟢 no key · 🟡 free key · 🔴 metered.)
| Layer | What you get | Source | Auth | | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------- | | 🗺️ Map Stack | Esri satellite imagery, Google Photorealistic 3D, OSM, plus additional ion-hosted stacks | Esri / Google / Ion / OSM | 🟢 Esri satellite + OSM · 🟡 ion-hosted Google 3D + world terrain · 🔴 direct Google + place search | | ✈️ Live Flights | 11,000+ 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 | 838-object 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 | Simulated vehicles on OSM roads. With TomTom, live flow speeds drive the simulation and congestion colors below ~8 km; individual vehicle positions are not live observations | TomTom + OSM | 🟢 simulation · 🟡 live flow speeds | | 📹 CCTV Mesh | ~3,600 public cameras projected _into_ the 3D space — Austin · Texas (TxDOT) · California (Caltrans) · London (TfL) · Ontario (511) · Finland (Fintraffic) · British Columbia (DriveBC) · Estonia (Tallinn, Tarktee) · Delaware (DelDOT live video) · New South Wales (Live Traffic NSW) · Calgary. Positions are published; poses are estimated priors you calibrate by dragging a gizmo on the camera itself | City APIs | 🟢 | | 📷 Mapped ALPR Cameras | License-plate-reader camera locations tagged by OpenStreetMap contributors, loaded one city-sized view at a time, with SHOW NEAREST. Locations and tags only: no plate data, no video | OpenStreetMap (incl. DeFlock mapping) | 🟢
