Skip to the review
yea.llc

Yes #3 · the one that makes you go outside

ORBIT.
Yes, and —

Tell it where you are standing and it will tell you which way to face at 7:36 tonight, and for how long.

The ruling

Grade A minusSay yes to looking up — then look at the date on the elements before you trust the minute.

Open ORBIT on labs.llc

Four frames, in order

  1. The ORBIT globe: a hand-drawn world map of coastline outlines speckled with thousands of small dots, an orange ground-track arc curving across the Pacific, a shaded night half, filter buttons for Stations, Brightest and Starlink, speed buttons 1×, 60×, 600× and Now, and a readout reading "10,832 objects computed live".
    Frame 1The whole fleet at once, on a globe drawn from embedded coastlines. No map tiles, and no request to a map or imagery service at all — the coastlines ship with the page.
  2. The ORBIT overhead panel with latitude 40.7128 and longitude −74.0060 entered. The left card, "Above you now", says 533 above the horizon and lists STARLINK-3460 at 88°, 463 km, SSW 196°. The right card, "ISS (ZARYA) passes — next 48 hours", says 13 passes · 3 visible and lists Tue 7:36 PM, VISIBLE, rises NNW 333°, peaks 16° NNE 14°, sets NE 54°, 4 min, dark sky sunlit pass.
    Frame 2Give it a latitude and longitude and it stops being a toy. 533 objects over New York that second; thirteen station passes in 48 hours, of which three are actually visible.
  3. The ORBIT ledger: a search field and a table of satellites with columns for name, altitude, speed, period, inclination and launch year. Rows include ISS (ZARYA) at 431 km, 7.65 km/s, 93 min, 51.6°, 1998, and FREGAT DEB at 2,002 km, 6.68 km/s, 116 min. A note beside the search reads "10,908 objects — first 200 listed, search to narrow".
    Frame 3The same fleet as a table you can search by name or NORAD number — and a note admitting the table is a snapshot while the globe is live, because redrawing ten thousand rows a second would cost more than it tells you.
  4. The ORBIT method section headed "Computed, not fetched", with sub-headings "The elements are the input", "The mathematics is the property", "What is honestly excluded" and "Nothing about you leaves".
    Frame 4Then a method section with a sub-heading most software would never write: What is honestly excluded.

Why this is a yes

Nothing here is a picture of the sky. Every dot is a position the browser worked out, this second, from published orbital elements — using an SGP4 propagator written from scratch, in plain JavaScript, on the WGS-72 gravity model the element sets are fitted against. Twenty-four kilobytes of code, with a self-test that agrees with the reference implementation to fractions of a millimetre.

Pull the network cable out and the page keeps running: there was never anything to fetch, the coastlines are embedded, and your latitude and longitude go no further than the arithmetic. Run the clock at 600× and watch the Starlink shell comb the planet like a rake.

“Computed, not fetched.”ORBIT, on its own method

Then it turns a good demo into something you use: type where you stand and the globe becomes a viewing guide — a list of passes with an opinion. It will only call a pass visible when your sky is dark while the satellite is still in sunlight, the only way you see one with your eyes. Everything else, it says, is a radio pass. From New York, on the night we looked, that cut thirteen station passes to three worth a coat, and told us to face north-north-west at 7:36 and follow it to 16° before it set in the north-east.

The refusals are the best-written part of it. The engine implements the near-earth model only, so anything with a period of 225 minutes or more — geostationary included — is counted, labelled and left out rather than approximated into a lie.

Now the shortcoming

The elements are old, and age is the one thing an orbital prediction cannot shrug off. Its own readout said: element snapshot 2026-08-27T16:05:31Z — 26.3 days old. Element sets are fitted to a moment and drift; drag pulls low-orbit objects off their published track, so a month-old set puts a satellite roughly in the right place, not at the right minute. ORBIT is straight about this — it stamps the age on the screen and its footer says accuracy is “plenty to point a finger at the sky, not to fly anything” — yet the headline sells tonight's viewing guide, and that lives or dies on the minute. A monthly refresh would fix it. Second, smaller: the totals disagree. The globe said 10,833 objects on one load and 10,832 on the next, the readout beside it 10,908, and the file behind both holds 10,911 element sets. Four numbers, one fleet, no note saying which is which.

One thing we checked rather than assumed: that exclusion excludes nobody. We computed the period of all 10,911 element sets in the snapshot, and every one comes in under 225 minutes. The discipline is real, the caveat free, and it will matter when someone adds the geostationary belt. Yes, and — go outside at 7:36.

Counted, not quoted

Element sets in the shipped snapshot
10,911
— stations / brightest / Starlink
21 / 157 / 10,733
Propagated, per the page's readout
10,908
Drawn on the globe, two loads
10,833 / 10,832
Snapshot epoch
2026-08-27T16:05:31Z
Age of the snapshot when measured
26.3 days
Deep-space objects (period ≥ 225 min) in it
0
Objects above New York at 22:44Z
533
ISS passes in 48 h / of those, visible
13 / 3
Propagator source size
24,385 B
Transferred on a cold load
852 KB

Measured by this desk against https://labs.llc/orbit/ in a headless browser with analytics blocked at the network layer, 2026-09-22 at 22:38:40Z, 22:39:09Z and 22:44:15Z. The 10,911 element sets and their periods were counted out of the live data file fetched at 22:34:42Z, by parsing the mean motion from each object's second line. Overhead figures are for the page's default position, 40.7128, −74.0060.