Real-time 3D intelligence dashboard built with CesiumJS. Track aircraft, satellites, military movements, ships, weather, and more on a photorealistic 3D globe.
- 3D Globe — Google Photorealistic 3D Tiles via Cesium Ion
- 13 Data Layers — Satellites, aircraft, military, seismic, traffic, CCTV, air quality, places, weather, NWS alerts, natural events, water cams, maritime AIS
- Multi-Source Data Fusion — Each layer pulls from multiple providers with automatic failover
- Intelligence Timeline — Multi-lane scrubber showing data availability across stores, with playback controls
- Historical Snapshots — SQLite-backed capture server records data continuously for time-travel playback
- Cinematic Search — Search for any location or person of interest with dramatic lock-on animations
- Live CCTV Feeds — 70,000+ global webcams via Windy, plus NYC DOT and USGS cameras
- Shader Pipeline — CRT, night vision, FLIR, and cel-shading post-processing modes
- HUD Aesthetic — Military/spy-thriller interface with scanlines, corner brackets, and classified document styling
# Clone
git clone https://github.com/MeyerThorsten/Argus.git
cd Argus
# Install dependencies
npm install
# Configure API keys (see below)
cp .env.example .env
# Edit .env with your keys
# Start the frontend
npm run dev
# (Optional) Start the capture server for historical data
npm run capture| Key | Source | Free? |
|---|---|---|
VITE_GOOGLE_MAPS_API_KEY |
Google Cloud Console | $200/mo credit |
VITE_CESIUM_ION_TOKEN |
Cesium Ion | Free tier |
| Key | Source | Free? |
|---|---|---|
VITE_OPENSKY_CLIENT_ID / SECRET |
OpenSky Network | Free (higher rate limits) |
VITE_AISSTREAM_API_KEY |
AISStream | Free |
VITE_WINDY_WEBCAMS_KEY |
Windy API | Free tier (1,000 req/day) |
TOMTOM_API_KEY |
TomTom Developer | Free tier (2,500 req/day) |
| Key | Source | Notes |
|---|---|---|
VITE_ADSB_API_KEY |
RapidAPI / ADS-B Exchange | Paid ($10/mo) |
AVIATION_EDGE_API_KEY |
Aviation Edge | Paid |
NY511_API_KEY |
NY State DOT | Limited availability |
Browser (Vite + CesiumJS) Capture Server (Express + SQLite)
┌─────────────────────┐ ┌──────────────────────────┐
│ 3D Globe Renderer │ │ Data Capture Loops │
│ 13 Data Layers │◄──REST───►│ REST API (port 3001) │
│ HUD / Timeline │ │ SQLite History DB │
│ Shader Pipeline │ │ AIS WebSocket Client │
└─────────────────────┘ └──────────────────────────┘
Frontend (src/) — Vite + TypeScript + CesiumJS + TailwindCSS. Each data layer is a self-contained class implementing the DataLayer interface.
Capture Server (server/) — Express server that continuously fetches satellite, aircraft, and military data, storing timestamped snapshots in SQLite. Exposes a REST API for the browser to query historical data and proxy external APIs.
| Key | Action |
|---|---|
Q W E R |
Fly to landmarks (Pentagon, Kremlin, Forbidden City, GCHQ) |
H |
Home — center Earth view |
T |
Toggle intelligence timeline |
- Satellites: CelesTrak TLE API
- Aircraft: OpenSky Network, ADS-B Exchange, Aviation Edge
- Military: adsb.lol, ADS-B Exchange, OpenSky (filtered)
- Maritime: AISStream WebSocket
- Seismic: USGS Earthquake API
- Weather: Open-Meteo
- Traffic: OpenStreetMap Overpass, TomTom Flow & Incidents
- CCTV: NYC DOT, USGS NIMS, 511 NY, Windy Webcams (70k+ global)
- Alerts: NWS Weather Alerts
- Natural Events: NASA EONET
- Places: Google Places API, OpenStreetMap Overpass
- Air Quality: Google Air Quality API, AirNow
- Geocoding: Google Geocoding API
- Elevation: Open-Meteo
npm run dev # Start Vite dev server
npm run build # Production build
npm run capture # Start capture server (foreground)
npm run capture:bg # Start capture server (background)
npm run capture:stop # Stop background capture serverThis project is licensed under the GNU Affero General Public License v3.0.
Copyright (C) 2026 Thorsten Meyer
This means:
- You can use, modify, and distribute this software
- If you modify it and provide it as a network service, you must release your source code under AGPL-3.0
- Any derivative work must also be licensed under AGPL-3.0