Satellites
Concept
A terminal-based satellite tracker for amateur radio operators and astrophotographers who want to know what’s overhead right now and what passes are coming. Two-Line Element data goes in, SGP4 propagation gives position over time, and the result lands on a world map and a pass-prediction view in the same TUI. Transmission frequencies for each tracked satellite live alongside the position so a radio operator can tune as the pass starts.
A single statically-linked binary with no GUI dependencies — the whole thing fits in a terminal multiplexer pane and runs the same on a laptop and a remote observatory.
Architecture
periodic catalogue refresh"] SGP4["SGP4 Propagator
orbital state → position over time"] OBS["Observer Geometry
lat/lon · horizon"] PASS["Pass Predictor
visibility windows · max elevation"] FREQ["Frequency Catalogue
per-satellite transmit bands"] MAP["World-Map View
live positions"] LIST["Pass List
tonight · upcoming"] TLE --> SGP4 SGP4 --> MAP SGP4 --> PASS OBS --> PASS PASS --> LIST FREQ --> LIST
The map and the pass list run off the same propagator state, so the satellite under the cursor and the next pass in the queue agree on where things are without an extra synchronisation step.