Two Engineers From SpaceX and Impulse Space on Scaling a Satellite Fleet
Nominal
Every engineer responsible for satellite operations carries a mental model of what “normal” looks like. At one satellite, you know it by heart, but are learning things for the first time. When managing a fleet of 100 or 1,000 assets in low earth orbit (LEO), normal can be a claim you're making against 100x the variables.

That gap in fleet scale splits operations into two different data problems. A team going from one satellite to fifty hits monitoring first. How do you scale without rewriting every check? A team managing hundreds from day one runs into data volume. The fleet-wide picture has to be assembled by hand before anyone can act on it.
We sat down with two engineers who have done this work. Duane Eldridge operated satellites at Impulse Space. Anish Shenoy worked on Starlink at SpaceX. Both now work Mission Operations at Nominal and spend their days with operators across the scale spectrum.
Scaling From 1 to 50 Satellites — What Does the Day-To-Day Look Like?
DUANE - We work with a satellite operator that started with a single dev satellite and now manages a fleet of 10, scaling towards 50+ in the next 18 months. They came from InfluxDB and Grafana, where defining an alarm meant writing and managing hundreds of SQL queries. Unfortunately, one software engineer ended up having to author the entire spacecraft team’s library of checks. This led to a backlog where every small threshold change was queued behind their ability to also do their day job of writing, testing, and updating onboard flight software.
Now every new satellite is commissioned using Nominal Checklists. Every asset filters the same live stream by tag so adding a satellite is a simple configuration change. Engineering hours don't grow anywhere near linearly with the number of satellites on orbit.
For the 10 satellites in operation, roughly 800 unique Checks run against those satellites, close to 8,000 executing at any given downlink pass. Limits color the board, ping Slack, and land as durable events on the asset.
Satellites record data while out of site from ground stations, store it, and transmit it to the ground on the next pass. An automated pipeline on top of the nominal SDK ingests the stored data, creates a run, and executes checklists, so conditions that happened when nobody is monitoring still get flagged.
For the Operator With 100+ Satellites — What Were They Doing Before, and What Changed?
ANISH - When you manage a large fleet of satellites, it's not a clean process to continually add data to the same data lake and expect it to scale. Engineers are playing “database gymnastics” to manually piece together tables to get a fleet-wide picture. Something that should be novel, like a channel search, turns into a scavenger hunt if other subsystems are adding different schemas to the list.
We're working with an operator scaling to 3,000+ satellites in LEO. Their fleet telemetry and test data now sit in one place, so an engineer can scroll every vehicle on orbit and search every channel the fleet produces, including the ones nobody knew existed.
Logs and numeric telemetry sit side by side, so triage never leaves the workbook for a separate log aggregator. From there you can build channels nobody telemetered. Bus power from V × I, then a Stefan-Boltzmann radiator equilibrium check, which showed the spacecraft physically cannot reject the extra heat. That derivation saves back into the workbook. The next engineer inherits working analysis instead of a screenshot.
When operating this amount of satellites, the test campaign never retires. Anomalies in space need to be mapped back to test data. When Nominal flags an on-orbit anomaly from automated data monitoring, the responding engineer can move from alert to ground test vs anomaly run comparison in a couple clicks. Since Nominal is the unified data record between ground test and flight, the engineer can seamlessly pull up and compare TVAC test data from the same unit with the flight anomaly data, drastically reducing root cause investigation timelines. Time-independent plots, V-I and heater duty cycle vs power, overlay bench test and flight with no timestamp alignment work at all. The same limit checklist runs against a live stream and against a run from three years ago.
The engineer who owns that subsystem is the one triaging the anomaly, and at constellation scale the same team is usually designing its next iteration. On-orbit behavior is the design input that matters most: a heater duty-cycling above its TVAC prediction is a data point for the next block's thermal margins. Because the flight record sits alongside the original bench data, that finding lands in the next design review as a queryable dataset rather than a summary slide. The anomaly closes twice, once in ops and once in the next iteration’s design phase.
Knowing What Normal Looks Like
Anish and Duane came to Nominal from their lived experience as satellite operators after being fed up with the industry “normal.” Neither is describing pain they picked up secondhand on a customer call. Their message to the engineers still piecing tables together at 2am, and still waiting on one person to update a checklist: this is fixable, and you should stop budgeting your week around it.
Book a demo (opens in new tab) to learn more about Nominal and how our software platform can organize your fleet telemetry and make every channel your satellites produce searchable in one place.