bilawalsidhu/gods-eye-view

▲ 1,831 stars today★ 33,946⑂ 6,773

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

33,946Star
6,773Fork
638Watch
271Issue
JavaScriptLanguage
NOASSERTIONLicense
Created 2026-06-22 · last push 2026-09-15 · repository size 88580 KB · default branch main

README

🌐 God's Eye View

CI

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.

Orbital HUD, a tracked live globe, FLIR terrain — then OPEN SOURCED

https://github.com/bilawalsidhu/gods-eye-view/blob/HEAD/The God's Eye View video series on YouTube

▶️ From the project behind the viral God's Eye View series (formerly WorldView)5M+ on YouTube · 25M+ across socials

Reached #1 on GitHub Trending

🏆 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

---

🌍 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

---

YouTube video about the God's Eye View open source release

▶️ The full walkthrough of everything below, on YouTube

⚡ 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 in-app place search. Provider terms and quotas apply. Add keys through the app's POWER UP panel; Keys & Costs explains the options.

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.

terminal clone → the repo-root .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. Keychain show as configured externally and are read-only to the panel. (eligible personal, non-commercial use; current terms and quotas apply) for photorealistic 3D and world terrain; a Google Maps key only for the billing-enabled, metered route + place search; OpenAI when you want to talk to the world. Full map, costs included, in Keys & Costs.

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.

Riding with a live aircraft in cockpit view while switching sensor modes

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.

Moving from a full airport overhead down to close taxiway inspection with 3D flight models

4. Look through a public camera. Turn on CCTV over Austin, London, California, or Finland. 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.

Diving into an Austin intersection with a live public camera projected into the 3D scene

5. Track something in orbit. Turn on Satellites and click the ISS — you ride along at orbital distance, orbit ring and all.

Tracking the ISS along its orbital path as it crosses over Ukraine

6. Switch the optics. Tap 17 — CRT, NVG, FLIR — and the whole live planet re-renders through a different sensor.

Cycling a dense live globe through CRT, FLIR, and NVG in one continuous view

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: 17 visual styles · H HUD · D detection · C cockpit · Esc out.

---

🛩️ 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.

Jumping between live aircraft and falling straight into a cockpit view

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.

A live military contact ridden through Normal, NVG, and Ironbow FLIR with dense detection

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:

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 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.

Zilker Park and Lady Bird Lake drawing onto the 3D city as persistent vector annotations, by voice A spoken distance measurement spanning an airport, inspected from orbit

🔎 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 OSM." · "Sharpen the image a touch." · "Switch to the tactical layout." · "What's turned on right now?"

The globe populating with the world's radio stations as another live layer

Ask for radio near anywhere and the globe starts broadcasting — every station is a real place you can fly to.

---

🛰️ What's on the Globe

Fourteen layers and map sources. Twelve 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) · 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 | 🟢 | | 📻 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 | 🟢 | | 🧭 Directions | Click A and B on the globe for a street-following drive, walk or cycle route draped on the terrain with turn-by-turn steps — then FLY the camera along it. No key, no geocoder, no mic | OSRM on FOSSGIS servers (OpenStreetMap) | 🟢 | | 🔥 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 basemap ladder — what each tier buys you:

| You have | The globe you get | |---|---| | 🟢 Nothing | Esri World Imagery satellite basemap + keyless terrain, in 2D. OSM takes over automatically if Esri is unreachable; if terrain is unavailable the globe continues without it | | 🟡 A free Cesium ion token | Google Photorealistic 3D cities and world terrain — eligible personal, non-commercial use; current ion terms and quotas apply | | 🔴 A Google Maps key | The same 3D direct from Google, plus in-app place search — the billing-enabled, metered route |

A reconstructed Falcon 9 ascent climbing and curving into its projected orbit

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).

Diving into the Bahamas and revealing labeled submarine cable routes beneath the globe

Missing a layer you want? Open an issue — or add it and send the PR.

---

🎖️ Field Missions

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. | | ✈️ Final approach | 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.

Resolving a selected aircraft's recent flight path into stacked 3D loops above the terrain

Ask the planet: a military contact's last ~24 hours of real trace history, resolved as stacked 3D loops.

Asking for a walking route and flying the generated path through the 3D city

"Draw the walking route… now fly it" — banked turns, eased ends, the camera leading the path like a drone shot.

Descending from regional context into dense rows of retired aircraft at the boneyard

Walk the boneyard: rows of retired airframes, fully resolved in 3D.

---

🔧 Under the Hood

How the globe handles live data:

``` src/ ├── main.js # Bootstrap: Google 3D tiles, layer registration ├── ui.js

More Today's Trending projects

1

debpalash / VoiceStudio

Python★ 29,840⑂ 3,606▲ 2,776 stars
2

JustVugg / colibri

C★ 32,609⑂ 3,430▲ 2,173 stars
3

alibaba / open-code-review

Go★ 26,516⑂ 1,906▲ 1,571 stars
4

ever-co / ever-gauzy

TypeScript★ 6,164⑂ 994▲ 1,130 stars
5

pacifio / atlas

Rust★ 4,440⑂ 274▲ 1,091 stars
6

tonhowtf / omniget

Rust★ 12,353⑂ 1,068▲ 1,018 stars