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
- ๐ฅ๏ธ 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 10,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
- ๐ฑ Mobile-Friendly โ Responsive design with touch-optimized bottom sheet UI
- ๐งญ 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 |
src/
โโโ app/ # Next.js App Router pages
โโโ components/
โ โโโ Globe/ # Cesium globe & satellite rendering
โ โโโ HUD/ # Heads-up display components
โ โโโ Scientific/ # Analysis dashboards
โโโ 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-checkContributions 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

