Methodology

Catalog refresh

Every 3 hours, a Vercel Cron job pulls 21 small CelesTrak groups in parallel (stations, science, Starlink, OneWeb, Iridium-NEXT, GPS/GLONASS/Galileo/BeiDou, GEO, weather, NOAA, GOES, Intelsat, SES, visual, last-30-days, plus the four major debris clouds: Cosmos 1408, Fengyun-1C, Iridium-33, Cosmos-2251). We dedupe by NORAD ID and snapshot the orbital elements into our archive for delta detection.

We don't pull CelesTrak's large active feed — at ~1.5 MB it's prone to throttling. The smaller per-purpose groups together cover the same satellites with better category accuracy.

Orbit classification

We classify by orbital elements (semi-major axis, eccentricity, inclination) rather than instantaneous altitude. Naively classifying by current altitude misclassifies Molniya satellites as LEO when they happen to be near perigee.

Position propagation

Positions are computed using SGP4 — the standard analytical propagator used with TLE data. We do this in your browser via satellite.js, so the position you see is always computed for “now,” using the most recent TLE we ingested. We never claim “real-time” — positions are propagated from TLEs that may be hours old.

Per-object pages

Each page combines our proprietary computed layers (live orbit, decay forecast, pass predictions, constellation graph) with attributed enrichment from Wikipedia (CC-BY-SA, isolated in attribution boxes), Wikidata (CC0), Wikimedia Commons (per-file licenses), TheSpaceDevs Launch Library 2, and the NASA NSSDCA Master Catalog. Wikipedia text is always rendered in a clearly labeled box to avoid ShareAlike contaminating the rest of the page.

Visibility predictions

Pass predictions use SGP4 propagation against your observer location (latitude, longitude, altitude). We compute look angles (azimuth, elevation) and report passes above 10° peak elevation.