3D Airplane tracker on Mercator map

Hacker News Top Tools

Summary

Vanguard-Map is an open-source real-time 3D map displaying live ship traffic, aircraft, satellites, and more using Three.js, with optional local proxy for flights.

No content available
Original Article
View Cached Full Text

Cached at: 07/09/26, 07:39 AM

jamalrfordii-arch/Vanguard-Map

Source: https://github.com/jamalrfordii-arch/Vanguard-Map

VANGUARD1 — Multi-Domain Tactical Intelligence Map

A real-time 3D map of the world’s moving things: live ship traffic (AIS), aircraft, satellites, submarine cables, ports, chokepoints, and space weather — rendered as a 1.5M-point terrain cloud with day/night, ocean simulation, and cinematic camera work. Built with Three.js and plain ES modules. No build step, no framework.

Live demo — no signup needed: click VIEW DEMO on the opening screen for synthetic traffic, or paste a free aisstream.io key for live global ship data.

demo

Try it

git clone https://github.com/jamalrfordii-arch/Vanguard-Map.git
cd Vanguard-Map
npx serve .        # or: python -m http.server 3000

Open http://localhost:3000 in a Chromium browser with hardware acceleration.

Live ship data (free): the app prompts for an aisstream.io API key on first load — free signup, the key stays in your browser’s localStorage.

High-res terrain tiles (optional): get a free token at cesium.com/ion → Access Tokens, then in DevTools: localStorage.setItem('vg1_cesium_token', 'YOUR_TOKEN'). Without it the map uses the point-cloud terrain at all zoom levels.

Flights & AI copilot (optional): require the local proxy — node flight-proxy.js in a second terminal. Without it those layers stay quiet; everything else works.

Time control & scenarios

The map runs on a simulated clock and pluggable data sources — DevTools console:

simClock.setTime('2026-05-10T12:00:00Z')   // scrub the world to any moment
simClock.setRate(60)                        // 1 real second = 1 sim minute
vg1Scenario.load('./scenarios/hormuz-demo.json')  // inject scripted synthetic vessels
vg1Scenario.record(); vg1Scenario.save()    // capture live AIS to NDJSON
vg1Scenario.replay('./captures/x.ndjson')   // replay a capture
vg1Invariants.stats()                       // physics-violation ledger (spoof/teleport detection)

Synthetic vessels use reserved 999… MMSIs and are scripted in scenarios/*.json.

Tests

node tests/invariants.test.mjs

Architecture

One manager per domain (aisManager, flightManager, satelliteManager, …), communicating only via vg1:* DOM events — no cross-imports. All position reports pass a physics invariant gate (invariants.js) before they can move an entity. See CLAUDE.md for the full module map and contribution rules.

Feedback

Open a GitHub Issue — bug reports, feature ideas, and “this ran at N fps on my machine” reports are all useful.

Similar Articles

koala73/worldmonitor

GitHub Trending (daily)

World Monitor is an open-source, AI-powered real-time global intelligence dashboard that aggregates 500+ news feeds, tracks geopolitical and infrastructure events, and visualizes data on interactive 3D/WebGL maps with cross-stream correlation and country risk scoring.