I’ve spent the last while building a project solo, mostly nights and weekends, learning SGP4 and orbital data from scratch as I went — and a big chunk of it runs on your SatNOGS observation data, which is a large part of why I wanted to introduce myself here specifically.
What I built: orbital-watch
Live: https://venkatallu11.github.io/orbital-watch/
Code (open source): GitHub - Venkatallu11/orbital-watch · GitHub
The core idea: automated satellite maneuver detection, free and public. It propagates each watched object’s previous TLE forward with SGP4, compares predicted vs. actual state at the new epoch, normalizes the residual by the time gap (km/day, not raw km — to avoid false positives on objects with different update cadences), and flags anything that’s a statistical outlier against that object’s own rolling baseline.
Where SatNOGS comes in: I use each object’s recent SatNOGS observation success rate as an independent physical cross-check on the residual signal — the idea being that a maneuver or anomaly might show up as degraded observation health too, from a completely different data path than the catalog. That specific use is one of the things I’d most like your honest read on (more below).
The site also pulls together, for 52 satellites + the Voyager/Pioneer probes: real-time 3D tracking, CelesTrak SOCRATES conjunctions, live crew data, real NASA imagery, and a few Earth-science layers — all client-side, no server, deployed hourly via GitHub Actions.
Being upfront about the limits (because you’ll spot them anyway):
-
It detects maneuvers; it does not attribute them (no “why”). That’s still the hard, human part.
-
It watches a 52-object watchlist, not the whole catalog.
-
The detector is built and tested (141 automated tests), but honestly, it’s still waiting for its first confirmed real catch — every live run so far has flagged nothing.
-
Every number is verified against its live source; where real data doesn’t exist, the site says so rather than faking it.
What I’d genuinely love feedback on:
-
Is using SatNOGS observation success rate as a maneuver/anomaly cross-check actually sound, or am I reading a signal into it that isn’t there?
-
Is the km/day residual normalization + per-object z-score a reasonable approach, or are there known failure modes I’m walking into?
-
Which satellites/objects would be most useful to add to the watchlist to make this actually valuable to people here?
-
Is there a way this could be useful to the SatNOGS/Libre Space ecosystem rather than just sitting alongside it? I’d rather contribute than duplicate.
I’m here to learn and improve it, not to sell anything — it’s free and open, and it exists because I couldn’t find a free tool that did this. Any criticism, “you got this wrong,” or “go read X” is exactly what I’m hoping for. ![]()
Thanks for building SatNOGS in the first place — it made a real part of this possible.
-– Venkat