Advanced 3D Satellite Tracking & Orbital Mechanics Platform
Real-time visualization, pass prediction, and conjunction analysis powered by CesiumJS and SGP4.
Live Demo · Wiki · Theory · Report Bug
| Desktop Command Center | Mobile Pocket Lab |
|---|---|
![]() |
![]() |
Scientific Satellite Tracker & Orbital Analysis
Responsive, High-Performance, and Mobile-First
- Pocket Lab Interface: A completely redesigned mobile UX with a bottom-sheet Inspector and gesture controls.
- Haptic Feedback: Tactile responses for interactions (selection, time scrubbing) on supported devices.
- Adaptive Performance: Automatic resolution scaling and bloom disabling on mobile for smooth 60fps tracking.
- Touch-Optimized Controls: Pinch-to-zoom, two-finger tilt, and swipe gestures for the 3D globe.
- 🖥️ Apple Vision Pro-inspired Glassmorphism UI — Clean, modern interface with frosted glass panels and smooth animations
- ⏱️ Smart Timeline — Context-aware time scrubber that auto-hides when analyzing satellites
- 🎥 Satellite Cockpit View (POV) — Velocity-vector locked camera with Quaternion orientation
- 🔬 Centered Scientific Modal — Full-screen analysis dashboard with backdrop blur
- 🛰️ Real-time SGP4 Propagation — Web Worker-driven batch processing for 25,000+ satellites at 60 FPS
- 🧮 Spatial Hashing Collision Engine — O(N) link calculation with 1000km³ grid cells
- 🌍 High-Fidelity Inertial Orbit Rendering — Fixed GMST algorithm shows true Kepler rings
- ⚡ Offline-First Architecture — IndexedDB caching with Stale-While-Revalidate
- 📊 Scientific Data Export — TLE, CSV, and JSON format export for research
- 🌍 Interactive 3D Globe — Real-time visualization of 25,000+ satellites and space objects
- 🔬 Scientific Analysis — Doppler shift, orbital decay, conjunction analysis, pass prediction
- 🛰️ Professional TLE Hub — Multi-source fallback (Space-Track, CelesTrak, AMSAT)
- ☀️ Eclipse Detection — Real-time sunlight/shadow status for all objects
- ⛓️ Deep Linking — Share specific satellites via URL (e.g.,
?sat=25544) - ⏱️ Time Travel — Simulate orbits at any point in history or future
- 🔭 Scientific Tool Suite — Pass prediction, Skyplot polar view, Orbital decay analysis & Doppler calculator
- 🧭 AR Compass Mode — Use device orientation to spot satellites in the sky
- ⌨️ Power User Tools — Keyboard shortcuts, analyst mode, and TLE exporting
- ⭐ Favorites System — Save and quickly access your favorite satellites
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/SpaceEngineerSS/OrbitVieW.git
cd orbitview
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your Cesium Ion access token to .env.local
# Start development server
npm run devOpen http://localhost:3000 to see the app.
NEXT_PUBLIC_CESIUM_ACCESS_TOKEN=your_cesium_token_hereGet your free Cesium Ion token at cesium.com/ion.
| Technology | Purpose |
|---|---|
| Next.js 15 | React framework with App Router & Turbopack |
| CesiumJS + Resium | 3D globe visualization |
| satellite.js | SGP4/SDP4 orbital propagation |
| Zustand | High-performance state management |
| Web Workers | Spatial Hashing physics engine |
| TailwindCSS | Utility-first CSS |
| Framer Motion | Animations |
| Native IndexedDB | Offline caching |
| Puppeteer | Automated Documentation Screenshots |
src/
├── app/ # Next.js App Router pages
├── components/
│ ├── Globe/ # Cesium globe & satellite rendering
│ ├── HUD/ # Heads-up display components
│ ├── Scientific/ # Analysis dashboards
│ └── layout/ # Responsive layouts (MobileNavBar, InspectorPanel)
├── lib/ # Core calculations
│ ├── DopplerCalculator.ts
│ ├── OrbitalDecay.ts
│ ├── ConjunctionAnalysis.ts
│ └── PassPrediction.ts
├── hooks/ # Custom React hooks
├── workers/ # Web Workers for heavy computation
└── store/ # Zustand state management
| Key | Action |
|---|---|
/ |
Focus search |
F |
Toggle favorite |
R |
Random satellite |
Space |
Toggle play/pause |
Escape |
Close panels |
? |
Show shortcuts |
A |
Toggle Analyst Mode |
| Feature | Description |
|---|---|
| Doppler Shift | Calculate frequency shifts for satellite radio signals based on relative velocity |
| Orbital Decay | Estimate satellite lifetime using atmospheric drag models and B* coefficients |
| Conjunction Analysis | Analyze close approach events between space objects with risk assessment |
| Pass Prediction | Predict when satellites will be visible from your location with sky plots |
| Source | Purpose |
|---|---|
| Space-Track.org | Official source for 25,000+ active payload and debris TLEs |
| CelesTrak | Secondary mirror and supplemental data provider |
| NASA Horizons | High-precision ephemeris for deep space missions (JWST) |
| SatNOGS | Real-time frequency and communication metadata |
OrbitView is engineered with high-fidelity astrodynamic models to ensure research-grade accuracy.
-
Propagation: High-precision SGP4/SDP4 models considering Earth's oblateness (J2-J4), atmospheric drag (
$B^*$ ), and deep-space perturbations - Orbit Rendering: Fixed GMST inertial frame rendering for true Kepler orbit visualization
-
Atmospheric Model: Optimized exponential decay model correlated with real-time
$B^*$ terms - Signal Analysis: Relativistic Doppler shift calculations based on ITRF radial velocity vectors
| Parameter | Modelled Accuracy | Benchmark Source | Status |
|---|---|---|---|
| LEO Propagation | ~1-3 km (1-day) | NAVSTAR GPS (Post-Fit) | ✅ Validated |
| Pass Prediction | ±5 seconds (AOS/LOS) | ISS (Zarya) TLE Observations | ✅ Validated |
| Doppler Shift | ±5 Hz @ 435 MHz | SatNOGS Network Telemetry | ✅ Validated |
| Orbital Decay | ±15% (Altitude < 400km) | NRLMSISE-00 High-Fidelity | ✅ Validated |
For in-depth analysis and methodology, see THEORY.md
| Phase | Timeline | Feature |
|---|---|---|
| Phase 1 | Q1 2026 | TLE History Analysis — Track orbital changes over time |
| Phase 2 | Q2 2026 | Maneuver Detection — Identify impulsive maneuvers via TLE residuals |
| Phase 3 | Q3 2026 | High-Fidelity Shadow Model — Penumbra/Umbra atmospheric refraction |
| Phase 4 | Q4 2026 | Space Weather Integration — Real-time F10.7 solar flux for dynamic density |
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Type checking
npm run type-check
# Generate Documentation Screenshots
node scripts/capture-screens.mjsContributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project was developed by Mehmet Gümüş.
🌐 Website: spacegumus.com.tr
🐙 GitHub: OrbitVieW
𝕏 X (Twitter): @persesmg
📧 Email: contact@spacegumus.com.tr
This project is licensed under the MIT License - see the LICENSE file for details.
- CelesTrak — TLE data source
- CesiumJS — 3D globe engine
- satellite.js — SGP4 implementation

