God's Eye View · Open-source edition

Documentation

Using the God's Eye View demo

A user manual for the hosted demo, a first-session walkthrough, and the technical detail integrators ask for.

1. Getting in

  1. Open gevapp.ed-edu.online.
  2. Enter the demo PIN you were given. Your browser remembers it for the session.
  3. The globe loads with satellite imagery. Open Data Layers to switch layers on.

Use a recent desktop Chrome, Edge, Firefox or Safari. The globe is GPU-heavy; phones work but are slower.

2. A first session

  1. Light up the sky. Turn on Flights. Thousands of live aircraft appear on real telemetry. Click one: the camera locks on, a trail draws and its telemetry card opens.
  2. Take the controls. Press COCKPIT (or C) on the tracked plane and ride it down. Switch sensors mid-flight with 1–7.
  3. Drop into an airport. Search an airport and descend to the taxiways — grounded contacts and taxi trails update in real time.
  4. Look through a public camera. Turn on Cameras over Austin, London, California or Finland. Feeds project into the 3D city; cycle coverage to VIEWSHED to see where each camera reaches.
  5. Track something in orbit. Turn on Satellites and click the ISS to ride along at orbital distance.
  6. Come home. Press Reset Globe to return to the full Earth.

3. Keyboard

1–7Visual styles (CRT, NVG, FLIR…)
HToggle HUD
DDetection overlay
CCockpit view
`Frame-rate readout
EscLeave the current mode

4. Technical architecture

Browservisitor gev.ed-edu.onlinestatic site · Vercel VPS Reverse proxyTLS · PIN gate GEV server127.0.0.1 · Node Provider keysserver-side only Public dataflights · ships · sats read the story gevapp.ed-edu.online cached, budgeted

Client. Vanilla JavaScript, CesiumJS and Vite — no framework. Each data layer is a separate module under src/data and src/layers.

Motion. Live feeds arrive every 15–30 s. The globe renders one interval behind real time, interpolates between fixes and dead-reckons gaps. Satellites use SGP4 propagation.

Server. A Node server brokers every request that needs a private key, with SSRF protection, response caps, sanitized errors, caching and per-provider request budgets.

Hosting. The server binds to 127.0.0.1 on the VPS. A reverse proxy terminates TLS for gevapp.ed-edu.online, checks the PIN and forwards to it. The key-entry panel is disabled when the server is shared.

5. API reference

These are the upstream server's internal endpoints, listed so integrators know what the hosted app calls. They are not a stable public API and may change with upstream releases.

GET /api/flightsLive aircraft positions (OpenSky + adsb.lol)
GET /api/flights/trackRecent track history for one aircraft
GET /api/militaryADS-B military traffic
GET /api/vesselsLive ships (AISStream key)
GET /api/celestrakSatellite orbital elements
GET /api/launchesRolling 30-day launch list
GET /api/cctv/sourcesPublic camera catalog
GET /api/cctv/mediaProxied camera frame or stream
GET /api/weather · /api/wind/grid · /api/cyclonesObserved weather, forecast wind, cyclone advisories
GET /api/fire-perimeters · /api/gnss-integrityFire incident boundaries, regional GNSS accuracy
GET /api/transit/vehicles · /api/gbfsLive transit vehicles, bikeshare stations
GET /api/routeStreet-following directions (OSRM)
GET /api/geocodePlace search (Photon / Nominatim, Google when configured)
POST /api/realtime/tokenSingle-use voice session credential (OpenAI/Gemini key)

6. Run your own copy

The project is open source. Install it with Pinokio in one click, or from a terminal:

git clone https://github.com/bilawalsidhu/gods-eye-view
cd gods-eye-view
npm install
npm run dev -- --host localhost --port 4173

It starts with no API keys. Add keys later from the in-app POWER UP panel. See the upstream README for Docker, keys and costs.