God's Eye View 开源:在浏览器中实时追踪飞机、船只、卫星与公共摄像头
英文标题:🔥 bilawalsidhu/gods-eye-view
God's Eye View 是一个开源的浏览器端空间情报可视化项目,以照片级真实感 3D 地球整合实时飞机、船舶、卫星、地震、交通和公共摄像头等公开数据。项目明确区分实时、延迟、部分可用、模拟和不可用数据,并将数据来源与新鲜度状态展示给用户。开发者需使用 Node.js 24.14.x 或 26.x,并配置 Google Maps API key;大多数图层无需密钥,但照片级 3D 地球及部分服务会产生计量费用。项目还集成依赖 OpenAI key 的实时 AI Agent,可通过语音完成导航、标注、实体查询、图层控制和镜头调度。
6.2 MB
958.0 KB
248.1 KB
5.3 MB
2.2 MB
1.2 MB
5.8 MB
4.8 MB
3.0 MB
981.4 KB
5.6 MB
3.0 MB
2.6 MB
6.0 MB
3.7 MB
4.8 MB
888.8 KB
1.8 MB
127.9 KB
105.8 KB
中文
浏览器里的间谍卫星模拟器——然后你会发现,数据源是公开的,数据也是真实的。
照片级真实感 3D 地球。实时飞机、船舶、卫星、地震、交通与公共摄像头;在没有实时信号源时,会清晰标注为建模视图。由实时 AI Agent 驱动的免手操作语音控制。
没有任何地方被遗漏。
▶️ 出自爆火 God's Eye View 系列背后的项目 (原名 WorldView) ——YouTube 播放量超过 500 万
你们提出了要求,所以它来了。 God's Eye View 已开源。实时追踪世界。与它对话。拆解它。扩展它。
大多数开源情报都是一堆浏览器标签页。信号极其丰富,但_界面_才是瓶颈。God's Eye View 将这些信号变成一个地点:世界本就在持续广播——飞行应答机、船舶信标、轨道根数、地震仪、公共摄像头——而这个项目将它们以实时、照片级真实感 3D 地球的形式呈现出来。无需机密访问许可;从头到尾都是公开信号,界面则在你的浏览器中、由你掌控。
一半魔力在于它看起来像一个禁区里的驾驶舱。另一半则是每一行代码都可供检查。
实时图层以公开数据源为基础:横穿你屏幕的客机正在报告遥测数据,摄像头安装在公开的位置,ISS 位置则由当前轨道根数推算。客户端会刻意将航班渲染在比实时晚一个轮询间隔的位置,以便实现平滑插值。部分体验是建模而非实时的:无密钥交通会被标记为模拟,摄像头姿态会在校准前进行估计,发射上升过程回放会标记为 RECONSTRUCTED ESTIMATE。每个图层都会保持其数据源及新鲜度状态可见,包括部分可用、延迟、模拟和不可用状态。
- 🛩️ 驾驶舱视图: 进入被追踪航班内部——镜头会一路锁定你下方的地形。
- 📡 联系目标: 列出目标周边 250 km 内的一切——逐个浏览实时飞机,并可进入任意驾驶舱。
- 🎯 点击追踪任何对象: 镜头锁定目标、绘制渐隐轨迹、展示完整元数据——追踪火灾或船只时,也可一键跳转到最近的实时摄像头。
- 🖊️ 语音白板: 通过语音在世界上添加标注——真实边界多边形、标记和路线。
- 🛫 3D 机库: 按类别提供真实飞机模型——787、ATR-72、Citation、Bell 206、MQ-9——当你接近时,被追踪目标会从图标切换为 3D 模型。
- 🎨 重塑现实: 在普通地球之上叠加 GLSL 传感器视觉效果——CRT、NVG、FLIR/热成像、Noir、Snow。
- 🟩 检测叠加层: 为视野中的所有对象显示屏幕空间边界框和 ID。
- 🎖️ 军用 HUD: 带有情报风格遥测信息的战术平视显示器。
- 🌐 全球上下文: 一键铺开完整态势图;离开后可精确恢复你的原有视图。
- 🎥 场景导演: 为短片和演示录制电影感镜头巡航。
- 🔗 分享链接: 镜头、风格、图层,甚至一个被追踪目标,都可以序列化进 URL——实时目标是一次交接,而不只是书签。
- 🏠 重置地球: 一个控件——或一句话——即可回到完整地球视图。
需要 Node.js 24.14.x 或 26.x(由 package.json 强制要求)。
- 将
.env.example复制为.env,并设置GOOGLE_MAPS_API_KEY。 - 安装并运行:
npm install
npm run dev -- --host localhost --port 4173
- 打开
http://localhost:4173。在较新的笔记本电脑上,冷启动可在两秒内稳定完成(一次特定时间点 M5/Chrome 测试的中位数为 1.86 秒——docs/PERFORMANCE.md;这是对比基线,并非硬件要求)。首次运行卡片会邀请你部署一个任务——实时目标、太空任务、环境——或者让你自行探索。
提示
不是程序员?让 AI 替你完成这一整页操作。 一键安装程序正在开发中——在此之前,安装一个编程 Agent(Claude Code、Codex、Cursor 或 Antigravity),然后粘贴以下内容:
Clone https://github.com/bilawalsidhu/gods-eye-view and set it up on my machine.
Install everything it needs, walk me through getting the required Google Maps API
key step by step (plus any optional free keys I want), put the keys in .env, and
help me set a billing alert and a usage quota on the Google key so I can't
overspend. Then start the dev server and open it in my browser. I'm not a
developer — explain what you're doing as you go, and ask me before any step
that could cost money.
这一个 key 就是全部入场费。 本 README 中所有内容均有颜色标识——🟢 无需任何配置 · 🟡 免费 key · 🔴 计量收费——而 Google Maps 是唯一必需的 🔴:它提供照片级真实感星球,此后地球上大多数内容都会以 🟢 点亮。对于典型的个人探索使用,预计大多数图层成本为 0 美元,两个计量图层的成本也微不足道:Google 目前每月提供 1,000 次免费的 3D 瓦片会话——每次最多可渲染三小时,对单人而言极难耗尽——语音功能则有内置的 5 美元会话上限。完整地图参见 Keys & Costs,完整而坦诚的说明参见 What it actually costs。
开发服务器绑定至 localhost——你的 key 会留在本机。如何安全地在 LAN 上共享,参见 Sharing an instance 和 SECURITY.md。
macOS 快捷方式: ./scripts/dev-fresh.sh 会清除 Vite 缓存,并直接从 Keychain 读取你的 key。
无需账户,无需注册。首次运行卡片会邀请你部署一个任务——或者亲自走完这套流程。在这五分钟中的某个时刻,它将不再像一个演示:
- 点亮天空。 选择 实时目标 任务(或自行开启 航班)——数千架实时飞机根据真实遥测数据滑行,检测网格已开始解析场景。点击其中一架:镜头锁定、轨迹在其身后绘制,实时遥测信息卡随即出现。
- 接管控制。 在被追踪的飞机上点击 COCKPIT,一路随它飞行,并在飞行途中切换传感器:从 NVG 切至 Ironbow FLIR。驾驶舱自带简报栏——附近的实时信号、区域新闻标题与真实当地天气;选择加入的 WX 模式可根据飞机周边的实际观测数据渲染体积云。而 Contacts 会将 250 km 目标列表保持在一键(或一句话)可达之处:在飞机间跳转,并直接进入下一架的驾驶舱。
- 进入繁忙机场。 搜索一个机场,并在开启 3D 飞机后下降至滑行道——地面目标、滑行轨迹,整个停机坪都在实时运转。
- 透过公共摄像头查看。 在 Austin、London 或 California 上方开启 CCTV。这些不是网页摄像头嵌入内容——它们被投影_进入_ 3D 城市。将覆盖模式切换为 VIEWSHED,每台摄像头都会绘制其估算的覆盖体积——它看得到哪里,以及哪里存在盲区。
- 用高峰时段涂满街道。 开启 Traffic 并下降至约 8 km 以下——单车流量会按照真实拥堵情况着色(需要 TomTom key;无 key 时为明确标注的模拟)。然后点击 CCTV 面板中的 NEAREST,通过对准拥堵地点的摄像头观察车流。
- 追踪轨道上的目标。 开启 Satellites,点击 ISS——你将以轨道距离伴飞,并看到完整轨道环。
- 切换光学效果。 按下
1–7——CRT、NVG、FLIR——整个实时星球会通过另一种传感器重新渲染。
- 与它交谈 (需要 OpenAI key):“带我去 LAX,并选择最近的空中飞机。”
- 回到全局。 点击 Reset Globe——或者直接说 “缩小到地球视图。”
键盘: 1–7 视觉风格 · H HUD · D 检测 · C 驾驶舱 · Esc 退出。
语音功能需要一个 OpenAI key。没有它,整个应用依然可以运行——麦克风按钮只会提示语音不可用。同一个 key 还会驱动 AI HUD 摘要:对当前视图进行简短、五词的情报风格解读,并会随着你的移动重新生成。
点击 GEV MIC,授予麦克风权限,然后直接开始说话。这不仅仅是一个语音遥控器:
- 🧠 它知道自己正在看什么。 Agent 会在回答前提取实时场景上下文——包括坐标、街道名称、激活的图层和视图比例。即使在飞行中问 “这是哪个城市?”,它也知道答案。
- 🎯 实体问答。 点击任意飞机、船舶或数据中心,然后问 “这是什么?”。它会基于对象的实时遥测数据回答。
- 👁️ 视觉落地。 在街道层级,它会读取视口截图以识别清晰可见的标牌和建筑名称,并被指示绝不虚构标签。
- 🎬 电影式构图。 “给我看头顶的飞机” 会拉远镜头、调整角度,并像导演一样为实时空中交通构图。
- 🔒 诚实且安全。 Agent 只会确认已成功执行的操作。你的
OPENAI_API_KEY永远不会接触浏览器;客户端只会获得短期有效的会话令牌。
二十八个工具,四类工作——以下命令直接来自产品的语音测试套件和工具手册:
🎥 指挥它 ——无人机操作员式镜头动词:
🗣️ “带我去东京。” · “缓慢环绕这个区域。” · “画出从 Capitol 到 Zilker Park 的步行路线。” → “沿着刚画出的路线飞行。” · “缩小到地球视图。”
🖊️ 标注它 ——覆盖真实世界的白板:
🗣️ “勾勒 Texas 州的边界。” · “标注 Texas State Capitol 及其庭院” ——它会绘制真实的闭合边界,而不是一个圆圈。· “Eiffel Tower 距离 Louvre 有多远?” ——会出现一条连接箭头,并朗读距离。所有内容都会持续保留,直到你说 “清除地图。”
🔎 盘问它 ——针对实时图层的分析师查询:
🗣️ “现在 Texas 上空有多少航班?” · “哪些船正驶向 Oakland?” · “Los Angeles 附近最大的火灾是什么?” · “是否有东西飞在四万英尺以上?” · “ISS 下一次何时飞越这里?”
🎛️ 操作它 ——免手操作整套控制台:
🗣️ “切换到夜视并开启航班图层。” · “开启摄像头可视域。” · “播放 Austin 附近的新闻广播电台。” · “追踪那架飞机。” → “进入驾驶舱。”
以及连发指令层级 ——每句一条:
🗣️ “显示全球基础设施。”(部署图层并拉回地球视图)· “播放 Orbital Watch。”(一个完整的电影式场景)· “将检测密度设为百分之五十。” · “下一个目标——仅限直升机。”(驾驶舱中)· “显示太空任务。” · “切换至 Bing 航拍图。” · “稍微锐化图像。” · “切换至战术布局。” · “现在开启了什么?”
要求播放任意地点附近的广播,地球就会开始播送——每个电台都是真实地点,你可以飞到那里。
十三个实时图层。其中十个完全无需任何配置——无需 key、无需账户、无需注册。
图层 | 内容
English / 原文
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→.envand setGOOGLE_MAPS_API_KEY. - Install and run:
npm install
npm run dev -- --host localhost --port 4173
- Open
http://localhost:4173. Cold start settles in under two seconds on a recent laptop (median 1.86 s in a point-in-time M5/Chrome capture — 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.
Tip
Not a coder? Have an AI do this whole page for you. A one-click installer is in the works — until then, install a coding agent (Claude Code, Codex, Cursor, or Antigravity) and paste this:
Clone https://github.com/bilawalsidhu/gods-eye-view and set it up on my machine.
Install everything it needs, walk me through getting the required Google Maps API
key step by step (plus any optional free keys I want), put the keys in .env, and
help me set a billing alert and a usage quota on the Google key so I can't
overspend. Then start the dev server and open it in my browser. I'm not a
developer — explain what you're doing as you go, and ask me before any step
that could cost money.
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. For typical solo exploring, expect $0 on most layers and pocket change on the metered two: Google currently gives 1,000 free 3D-tile sessions a month — each good for up to three hours of rendering, which is very hard for one person to exhaust — and voice carries a built-in $5 session cap. Full map in Keys & Costs, full honest breakdown in What it actually costs.
The dev server binds to localhost — your keys stay on your machine. Sharing on a LAN safely is covered in Sharing an instance 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 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.
- Take the controls. Hit COCKPIT on your tracked plane and ride it down, switching sensors mid-flight: NVG into Ironbow FLIR. The cockpit 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 — and Contacts keeps the 250 km roster one click (or one sentence) away: jump plane to plane and fall straight into the next cockpit.
- 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.
- Look through a public camera. Turn on CCTV over Austin, London, or California. 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.
- Paint the streets with rush hour. Turn on Traffic and dive below ~8 km — per-vehicle flow colors to the real jams (with a TomTom key; keyless it's a labeled simulation). Then hit NEAREST in the CCTV panel and watch the jam through the camera pointed at it.
- Track something in orbit. Turn on Satellites and click the ISS — you ride along at orbital distance, orbit ring and all.
- Switch the optics. Tap
1–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. Hit Reset Globe — or just say "zoom out to a globe view."
Keyboard: 1–7 visual styles · H HUD · D detection · C cockpit · Esc out.
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.
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."
🔎 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.
| 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 | 🟢 |
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. |
| ✈️ 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. |
| 🌊 Trace the backbone | Dive to the Bahamas with Submarine Cables on — labeled routes reveal beneath the water, 712 of them worldwide. |
🎙️ = 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.
Launch replay: a Falcon 9 ascent, labeledRECONSTRUCTED ESTIMATE, scrubbable 0.25×–4×.
Trace the backbone: the submarine cable routes under the Bahamas.
Some of the engineering that makes it feel real rather than like a tech demo:
-
World-stable icons. Aircraft and ships point along their true real-world heading at 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 the rendered terrain 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 Tiles for 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.
What you need for the good experience
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:
What the TomTom key buys you: step 5 ofThe First Five Minutes for real — actual rush-hour density painted on the city instead of an approximate simulation.
All of them are worth getting. None of them are required to start.
# Put keys in .env (see .env.example), or pass them as env vars:
OPENAI_API_KEY="…" AISSTREAM_API_KEY="…" npm run dev -- --host localhost --port 4173
On macOS you can also keep any key in the Keychain and ./scripts/dev-fresh.sh pulls them in — the security add-generic-password service names are documented in .env.example.
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 | More generous than you'd guess: billing counts root tileset requests — one buys up to three hours of unlimited tile rendering — and the first 1,000 per month are free , then about $6 per 1,000 (US pricing; check the current page, rates vary by billing region). A solo user rarely leaves the free tier. Still: 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.
🧗 The floor is low on purpose
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 DATA_SOURCES.md. Security model: SECURITY.md. Want to contribute? CONTRIBUTING.md.
Media 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.
















