Software · Console

LEO Ops

The whole link, orbit to terminal

A mission-control console that tracks a commercial LEO broadband constellation live, models the RF link down to the rain fade, and scores its own predictions against measured terminal telemetry. Every number on screen says where it came from.

The whole link, in one console.

The redesigned LEO Ops board, recreated. Every site, satellite, and reading here is fictional; the propagation, the RF math, and the provenance discipline are real. Scroll the panel - five working surfaces, one instrument.

Objects tracked
10k+
multi-constellation, public TLE
Link margin
+4.2 dB
rain fade from live weather
PACE tiers
4
primary / alt / contingency / emergency
Automated tests
~535
behind the propagation & RF math
OPS
Layer 1 / 5 - Orbits · space segment
VANGUARD-4471
551 km · el 62° · Ka · serving
NETWORKS TRACKED · PUBLIC TLE
Starlink~6,800
OneWeb~630
Kuiperlayered
SES O3b mPOWERMEO
Iridium66 · L-band
GlobalstarLEO
TAIL TRACK → SATCOM AVAILABILITY → PACE
~10,700 objects · 7 birds in view · optimum Ka / LEO
PRIMARY
Ka · LEO
broadband constellation
ALTERNATE
Ku · LEO/MEO
second constellation
CONTINGENCY
L-band
Iridium / Inmarsat
EMERGENCY
HF / ATG
terrestrial fallback
TERMINAL · LIVE
Latency21 ms
Ping loss0.2%
Downlink148 Mb/s
BANDS · LINK PHYSICS · RESEARCH-GRADE SLANT-RANGE GEOMETRY d = R⋅(√((R+h)²/R² − cos²ε) − sinε) R 6371 km · h 551 km · ε 62° → d = 606 km FREE-SPACE PATH LOSS FSPL = 92.45 + 20log₁₀fGHz + 20log₁₀dₖₖ f 11.7 GHz · d 606 km → 159.2 dB RAIN ATTENUATION · ITU-R P.838 Aᵣ = k⋅Rᴺ ⋅ Lᵩᵧᵧ (γ = k⋅Rᴺ) R 12 mm/h · k 0.0188 · α 1.217 → 2.9 dB CARRIER-TO-NOISE · SHANNON HEADROOM Eb/N₀ = EIRP − FSPL − Aᵣ + G/T − k − 10log Rᵇ EVERY TERM PURE · SEPARATELY TESTED ELEVATION HERO · MARGIN vs ELEVATION link-close threshold 10°25°62° +8dB0 ECP Low elevation = longer slant, more rain path, less margin - which is exactly why PACE exists. As the bird sinks toward the horizon the primary link degrades and the console hands off to the alternate before it drops. ENVIRONMENT COMPARISON · SAME PASS, FOUR ATMOSPHERES CLEAR AIR+6.8 dBgaseous only 0.3 dBlink CLOSED, wide margin RAIN 12 mm/h+4.2 dBrain fade 2.9 dBlink CLOSED, watch SCINTILLATION+3.1 dBlow-el tropo ±1.7 dBfade-margin eaten RAIN 40 mm/h−1.4 dBfade 8.4 dBlink OPEN → PACE alternate This is the physics a program office can check line by line - not a coverage map with a marketing gradient. Every constant cites its ITU-R recommendation.
DASH · TERMINAL LIVE TERMINAL LIVE LATENCY21.4 ms DOWN148 Mb/s UP14 Mb/s OBSTRUCTION0.08% OBSTRUCTION DOME · SNR BY SKY DIRECTION 123×123 SNR grid · boresight crosshair Measured against prediction. MODEL vs OBSERVED Handoffs predicted14 Handoffs observed16 Propagator error0.6° POWER Draw24 W Daily0.58 kWh Field-pack runtime11.9 h READ-ONLY gRPC COLLECTOR · NEVER A MUTATING CALL · OFFLINE → LABELED MODEL FALLBACK
EXPLORE · FROM THE LIVE PICTURE, DESIGN THE ALTERNATIVE WALKER WHAT-IF DESIGNER Total sats (T)1,584 Planes (P)72 Phasing (F)17 Inclination53.0° Altitude550 km MIN-ELEVATION COVERAGE 99.4%revisit < 4 min ALTITUDE SHELLS · COMPARE REAL CONSTELLATIONS Starlink 550 km OneWeb 1,200 km SES O3b MEO 8,062 km WHAT-IF vs LIVE · THE BRANCH FROM OPS Live serving margin+4.2 dB This design, same site+5.9 dB Gap-minutes / day18 → 3 Explore is Ops' twin: take the live constellation you're tracking, then turn the Walker knobs and watch coverage, revisit, and margin answer - two propagators kept strictly apart so the physics never lies.
ECONOMICS · SENSITIVITY + MONTE CARLO TORNADO · NPV SENSITIVITY (± ONE-VARIABLE SWING) base case Fill rate±$412M ARPU±$338M Launch $/kg±$268M Churn±$201M Sat life±$150M CapEx / sat±$108M Ground seg±$74M − downsideupside + MONTE CARLO · 10,000 TRIALS · NPV DISTRIBUTION P10 P50 P90 P10−$180M P50 (median)+$640M P90+$1.42B P(NPV > 0) = 0.86 · correlated inputs · Latin-hypercube sampling READ Fill rate and ARPU dominate the outcome - not launch cost. The tornado says where to spend diligence; the Monte Carlo says how wide the outcome cone really is. A program office gets a probability, not a single hopeful line on a slide. Every input distribution is stated, every correlation is modeled, and the seed is fixed - run it yourself and get the same cone.
01 / OPS

Every layer, over a real Earth

One Earth, five operator layers that switch on the globe: the space segment - Starlink, OneWeb, Kuiper, SES O3b MEO, Iridium and Globalstar; the ground segment of teleports, gateway earth stations and ATG towers; a live weather overlay driving Ka/Ku rain fade; an RF / spectrum layer flagging interference and GNSS-denial; and the fused link view that tracks any tail - plus maritime AIS and ADS-B aircraft - and resolves the full PACE ladder: primary, alternate, contingency, emergency.

tail N802AW → optimum Ka / LEO · 4-tier PACE resolved
02 / BANDS

The physics, line by line

Slant-range geometry, free-space path loss, ITU-R rain attenuation, and the carrier-to-noise budget - every term shown, every constant cited to its recommendation. The elevation hero curve proves why PACE exists: as the bird sinks, margin falls and the console hands off before the link drops. Research-grade, not a coverage gradient.

clear +6.8 dB · rain +4.2 dB · heavy rain −1.4 dB → alternate
03 / DASH

Measured against prediction

A read-only collector polls a real terminal over its local API - latency, throughput, an SNR obstruction dome - and a model-vs-observed panel scores the console's own forecasts against what the hardware measured. Offline, it falls back to a labeled model.

propagator error 0.6° · obstruction 0.08%
04 / EXPLORE

Ops' twin: design the alternative

Take the live constellation you're tracking and branch into a Walker what-if designer - total sats, planes, phasing, inclination, altitude - then compare real altitude shells (Starlink, OneWeb, SES O3b) and watch coverage, revisit, and margin answer against the live baseline.

this design vs live: margin +4.2 → +5.9 dB · gaps 18 → 3 min
05 / ECONOMICS

A probability, not a hopeful line

A sensitivity tornado ranks what actually moves NPV - fill rate and ARPU dominate, not launch cost - and a 10,000-trial Monte Carlo with correlated, Latin-hypercube-sampled inputs returns the full outcome cone: P10, P50, P90, and the probability the program clears zero.

P50 +$640M · P(NPV > 0) = 0.86

The link, six ways - one box.

Link budget, margin, Doppler, GSO discrimination, frame timing, and spectrum are one analysis seen six ways. Tab between them; the geometry stays fixed underneath.

LINK BUDGET · Ku DOWNLINK 11.7 GHz · QPSK 3/4 EIRP (sat)52.4 dBW − free-space path loss159.2 dB − rain fade (P.618, 12 mm/h)2.9 dB − pointing + polarization0.6 dB + G/T (terminal)12.1 dB/K = C/N₀, then Eb/N₀ vs requiredmargin +4.2 dB required Eb/N₀ 4.4 dB (QPSK 3/4, BER 1e-7) · implementation loss 0.8 dB · every term cites its source
MARGIN CURVE · SINGLE PASS · el 10° → 62° → 10° link-close threshold peak +6.8 dB @ el 62° handoff window margin stays above threshold for 00:47 · PACE hands to alternate before the set-side dip
DOPPLER PROFILE · f₁ = (v/c)·f·cosθ 0 Hz zero-Doppler @ TCA +42 kHz−42 kHz pre-compensation curve the terminal tracks · rate ẋ 1.4 kHz/s at TCA · WGS84-exact geometry
GSO KEEP-OUT · OFF-AXIS DISCRIMINATION 22° GSO exclusion arc Discrimination, not just avoidance. candidate LEO birds clear of the arc inside keep-out - excluded from serving set Off-axis angle to the GSO belt is computed per candidate against the ITU EPFD mask, so the serving choice respects regulatory limits instead of plotting a static ring.
FRAME TIMING · OFDM / TDMA SUPERFRAME PREAMBLE PILOTS DATA SYMBOLS × N PILOTS GUARD NEXT FRAME |←-- symbol Ts = Tu + guard --→| Subcarrier spacing240 kHz Useful symbol Tu4.17 µs Cyclic prefix1/16 Frame duration0.75 ms Doppler-tracked CPyes Guard vs max delay-spread1.9× Pilot overhead8.3% Timing budget vs handoffwithin the guard interval must exceed max delay spread AND absorb residual Doppler after pre-comp - both checked
SPECTRUM OCCUPANCY · Ku 10.7–12.7 GHz 10.711.712.7 GHz ■ serving carrier■ adjacent-sat■ interferer / C·I watch occupancy 63% · C/I 14.2 dB
One geometry, six readings.   The same pass drives the budget, the margin over time, the Doppler the terminal tracks, the GSO discrimination that shapes the serving set, the frame timing that survives it, and the spectrum it lives in.

Satcom briefings to federal buyers fail in a predictable place: the numbers.

A program office asks what the link margin looks like in a Florida thunderstorm, how the terminal rides through a satellite handoff, or what happens to timing when GPS gets noisy - and the pitch deck answers with a coverage map that has no math behind it. The room can tell.

Most tools in this market make it worse. Tracker sites plot dots on a globe with no RF layer underneath. Analyst platforms sell authoritative-looking figures from models nobody outside can audit. Neither survives contact with an operator who has actually pointed an antenna.

The bearing: LEO Ops is the counterargument. It propagates more than ten thousand satellites from operator-published ephemerides, carries the RF math in the open - link budgets, Doppler, rain fade fed by live weather - and checks its own predictions against measured telemetry from a real terminal. Every value on screen is labeled. That labeling discipline is the product.

Five capabilities. Orbit, link, and terminal in one picture.

i.

Live constellation picture

Tracks 10,000+ LEO broadband satellites on an interactive globe, propagated in the browser from operator-published state vectors. Pass prediction, ground tracks, a serving-satellite timeline, and a candidate set gated at the 25-degree user-beam floor - with accuracy tiers that narrate data age instead of hiding it.

ii.

RF analysis deck

Band plans, OFDM frame timing, and full link budgets with ITU-R P.618/P.838 rain attenuation driven by live precipitation at the site - no manual slider. Doppler profiles, opportunistic-PNT geometry with GDOP, TDOA/FDOA passive-geolocation loci, GSO-avoidance angles, and spectrum occupancy, each computation pure and separately tested.

iii.

Measured terminal telemetry

A read-only collector polls a real LEO user terminal over its local gRPC API: latency, throughput, power draw, boresight pointing, outage and handoff logs, and a 123×123 SNR sky grid rendered as an obstruction dome. A model-vs-observed panel scores the console's own predictions against what the hardware measured.

iv.

Mobility and environment layers

Live ADS-B aircraft with a through-satcom connectivity view, maritime AIS, a GPS-interference heatmap computed from broadcast integrity fields, satellite thermal detections, and a space-weather strip - Kp, F10.7, X-ray flare class - that feeds directly into the ephemeris trust window.

v.

Provenance as an invariant

Six labels - first-party-measured, first-party, third-party, self-computed, model, simulated - and every rendered value carries one. A plausible number with the wrong label is treated as a defect, not a detail. The map never blanks; it degrades with a dated chip that says exactly what you're looking at.

Five layers. Public feeds in, labeled truth out.

The console makes zero third-party API calls at runtime - a self-hosted basemap, an edge data plane that fails closed, and two propagators kept strictly apart. Measured terminal telemetry rides the top provenance tier; when the hardware is offline, panels fall back to labeled models automatically.

Layer 1

Ingest

A Python pipeline pulls operator-published ephemerides on the publisher's own eight-hour cadence, plus third-party element sets, space weather, live precipitation, ADS-B, and AIS. Range-optimized fetching moves about 90 MB per refresh instead of 17 GB, and the pipeline fails closed - it refuses to publish a snapshot it can't parse.

Layer 2

Edge data plane

Snapshots land in edge object storage; a single edge function serves them storage-first with a committed static fallback. Fresh data flows without a redeploy, and if the pipeline dies the console serves the last good snapshot with an honest staleness label rather than an empty map.

Layer 3

In-browser physics

Two propagators, kept strictly apart: universal-variable Kepler for operator state vectors, SGP4 for third-party element sets - mean elements never enter the two-body engine. Observer geometry is WGS84-exact, pass prediction runs off the main thread in a Web Worker, and roughly 535 automated tests sit behind the math.

Layer 4

Terminal collector

A small read-only process on the terminal's LAN polls its local gRPC telemetry - never a mutating call - and pushes measured data through the same edge path under the top provenance tier. When the terminal is offline, panels fall back to their labeled models automatically.

Layer 5

The console

A single-page app on a MapLibre GL globe with a self-hosted basemap - zero third-party API calls at runtime. Mission-control HUD styling, drag-and-resize panel decks across four working views, keyboard-accessible controls, dark by default.

Three clarifications.

  • Not an antenna-pointing system. Accuracy is display-grade and says so. The console is a monitoring and teaching instrument; every model on screen is labeled a model, and nothing claims operational precision it doesn't have.
  • Not repackaged proprietary data. It runs on public and first-party feeds plus telemetry from hardware the principal owns - no scraped commercial databases, no third-party tracker APIs at runtime, no authoritative-sounding numbers from a black box.
  • Not a product for sale. It's a working instrument built to understand the LEO satcom market from the inside - the kind of fluency a company entering the federal satcom conversation gets to borrow.

If you're bringing a LEO or satcom product into the federal conversation, the first move is a bearing on where it fits.

One conversation, one written summary, no commitment. The bearing comes first.

Schedule a call - 30 min
Melbourne, FL · Working nationwide