Space Domain Awareness

Sentry

A real-time space domain awareness platform tracking thousands of satellites, near-Earth objects, and orbital debris across LEO, MEO, and GEO — rendered on an interactive 3D globe with custom shaders and a Rust/WASM orbital engine.

Status

Online

Started

2026

sentry.space
14K+
Satellites Tracked
15
Constellation Groups
5
Debris Fields
78
Ground Stations
Capabilities

Features

01

3D Globe Visualization

WebGL-powered interactive globe with real-time satellite rendering, altitude-band coloring (LEO/MEO/GEO), cloud layers, and country borders — all running at 60fps.

02

TLE/SGP4 Orbital Propagation

Ingests Two-Line Element sets from CelesTrak and propagates satellite positions using the SGP4 algorithm via satellite.js for accurate orbital prediction.

03

NEO Monitoring

Near-Earth Object tracking with NASA CNEOS integration, close approach data, fireball event mapping, and ephemeris visualization on the globe.

04

Debris Field Tracking

Catalogs major debris events — Cosmos 1408, Fengyun-1C, Iridium 33/Cosmos 2251 — with 5,000+ tracked fragments rendered in real time.

05

Launch & Reentry Alerts

Live launch tracking with countdown timers, orbital insertion visualization, and automated alerts for decaying objects and imminent reentries.

06

Rust/WASM Orbital Core

Performance-critical orbital mechanics computed in a custom Rust crate compiled to WebAssembly — arc generation, pass prediction, and conjunction analysis at native speed.

System Design

Architecture

Frontend
Next.js 16TypeScriptTailwind CSSZustand
3D Rendering
Three.jsCustom GLSL ShadersInstanced MeshesCamera Controller
Orbital Engine
satellite.js (SGP4)Rust/WASM CoreTLE ParsingPropagation
Data Sources
CelesTrakJPL Solar System DynamicsNASA NeoWsSpace-TrackNASA SSCWeb
Infrastructure
Hetzner VPSDockerSSL/TLSEdge Caching
Decisions

Stack Rationale

Why Three.js + Custom Shaders

Rendering 14,000+ satellites at 60fps requires instanced geometry and custom GLSL shaders for atmosphere effects, satellite glow, and orbital arcs. Three.js provides the WebGL abstraction while custom shaders handle the visual fidelity.

Why Rust/WASM for Orbital Math

Conjunction analysis and arc generation are compute-intensive operations that would block the main thread in JavaScript. A custom Rust crate compiled to WASM handles these calculations at near-native speed without sacrificing the web deployment model.

SGP4 Propagation Pipeline

Satellite positions are computed using the SGP4/SDP4 algorithm from Two-Line Element sets. CelesTrak provides OMM-format catalog data that gets parsed, propagated forward in time, and projected onto the 3D globe with altitude compression for visual clarity.

Real-Time Data Architecture

Supabase stores satellite catalogs and NEO data. API routes sync with CelesTrak and NASA CNEOS on schedule. Zustand manages client-side state for filters, time controls, and panel coordination — enabling smooth scrubbing through orbital time.