OrbitLens
Author
Point your phone at the sky and see every satellite overhead, in AR or on a live world map. All SGP4 positions are computed on-device via my own Dart packages - no server, no account, works offline. Built in the EU.
- Flutter
- Dart
- SGP4/SDP4
- AR
- Clean Architecture
HOW IT WORKS
Everything is computed on the device with a Vallado-verified SGP4 engine. There is no tracking backend. Orbital data comes from the public CelesTrak catalogue and is cached, so the app keeps working with no signal. The whole thing is a Flutter UI wrapped around two pure-Dart packages I wrote earlier: celestrak for the data, satellite_observer for the propagation and geometry.
PRIVATE BY DESIGN
No account, no ads, no analytics. Location, camera and motion are used only on-device and never stored or sent. Crash reporting is off by default and opt-in. Built in the EU. Orbital predictions are best-effort, not for safety-critical use.
ARCHITECTURE
Standard 3-layer Clean Architecture: domain entities and use-cases with no Flutter dependency, a data layer over the celestrak package, and a Flutter + BLoC/Cubit presentation layer. The propagation sits behind an engine port, so the compute layer is swappable and independently testable - the same pattern as cv-web-app.
KEY TAKEAWAYS
- AR sky overlay with live azimuth / elevation / range, plus a live world map with ground tracks
- All SGP4 computation on-device - no server, no account, works offline
- Powered by my own satellite_observer + celestrak Dart packages
- Private by design: nothing leaves the phone, no analytics, built in the EU
- Clean Architecture; releasing on Google Play and the App Store