UX · Product Design · Data Visualization

Satellite Anomaly Dashboard

Role
Product Designer
Visual Lead
Organization
App Dev Club
× Amazon Kuiper
Team
16 people
2 designers
Timeline
Fall 2024
UMD
Satellite intelligence dashboard — full general view
Overview

A satellite intelligence dashboard that turns orbital telemetry into something analysts can act on in seconds.

Challenge
Kuiper's constellation runs thousands of satellites at once in low Earth orbit. Staying on top of all of them means processing an enormous amount of telemetry, catching anything off before it becomes a real problem.
Strategy
As one of two designers on a 16-person team with Amazon Kuiper's D.C. engineers, I led visual direction and UX strategy, turning telemetry and ML outputs into something an analyst could actually read.
Result
A working prototype presented to Amazon Kuiper's D.C. team, who named the interface clarity and pitch materials specifically. The project moved to Amazon's engineering team to build out.
16
Team
members
2
Designers
on team
3
Expert feedback
sessions
1k+
ADC applicants
per year
Who actually has to live inside this tool?
Who we designed for

While our main point of contact was Yash, in reality, I idenitified three user groups that made up the ecosystem of this tool:

Primary user
Satellite Operations Analyst
Monitors constellation health daily and responds to anomalies
Pain points
  • Manually scanning dozens of graphs to find a single anomaly
  • No single view showing which issues need attention first
  • Context-switching across multiple tools slows every investigation
Domain expert
Kuiper Engineer (Yash)
Identifies patterns in satellite data to anticipate collision courses and flag operational risks
Pain points
  • Tools that sacrifice precision for usability lose engineer trust
  • No direct path from ML anomaly detection to analyst action
  • Anomaly responses aren't documented for future reference
Stakeholder
Amazon Product Manager
Needs constellation health summaries and anomaly status for leadership
Pain points
  • No high-level snapshot of overall system health
  • Status reporting requires manual extraction from technical tools
  • Hard to communicate anomaly severity to non-technical stakeholders
How do you find a needle in an orbital haystack?
The problem

At Amazon, the monitoring team's job is to track things like satellites drifting off expected paths, satellites moving between parking and operational orbit, and potential collision risks across the constellation.  This is a lot of data to hold at once.

Before this tool existed, catching any of those meant engineers had to manually scan dozens of telemetry graphs and compare orbital elements one by one, then oad the data, pull up the graphs, look for anything that doesn't fit, and investigate. All by hand, across multiple tools.

How might we make dense orbital telemetry readable at a glance without losing what makes the data trustworthy?

Original User Flow
01
Data Collection
Manual TLE downloads, one file at a time
Repetitive, error-prone
02
Pre-Processing
Scripts to clean and normalize orbital data
Ad-hoc, inconsistent
03
Monitoring
Static charts in Excel or Python
Manual anomaly spotting
04
Decision Making
Subjective judgment on severity
No confidence metrics
05
Reporting
Static reports sent via email
No real-time sharing

The whole process had the same issue at every stage: too many manual steps between the data and a decision.

The goal was to surface anomalies automatically so analysts could spend their time understanding and responding to problems, not hunting for them. It wasn't about showing more data, more about making the right data impossible to miss.

Where exactly did I fit in on a 16-person team?
My role

The vast majority of my team was ML engineers, backend developers, product leads. There were two designers, one of them me.

I led overall visual direction, dashboard architecture, and data visualization for anomaly detection. I worked directly with engineering to figure out how to put ML outputs on screen in a way analysts could actually read, and I built every pitch deck and presentation the team used.

Before we touched a single frame

The team sent a reading list before our first meeting. Orbital mechanics, hidden Markov models, dynamic time warping. None of which I'd encountered before. I spent a week with these before anything was sketched.

Article
Orbital Mechanics — Classical Orbital Elements
orbital-mechanics.space ↗
Video
Hidden Markov Model
youtube.com ↗
Video
Dynamic Time Warping
youtube.com ↗
Paper
Royal Society Publishing — Orbital Debris
royalsocietypublishing.org ↗
How do you design for a system you've never operated?
Process
Understanding the workflow

When we asked engineers to walk us through their process, load telemetry, compare graphs, look for patterns, investigate, we found most of the time was spent finding anomalies, not understanding them. The interface needed to flip that.

User Flow · Anomaly Review, Dashboard MVP
YES NO START
Dashboard flags anomaly
Analyst reviews confidence score
Confidence high?
Log resolution & close
Escalate to engineer for manual investigation
Amber-marked nodes are where automatic flagging replaced manual scanning

What used to take a full manual scan is now a confidence check. The MVP collapsed the first three steps of the original five-step flow into one.

We sat with Yash's team long enough to notice patterns. Four things kept coming up.

Usability
Existing tools had a steep learning curve. Nobody wanted to fight the interface to find a problem that might already be urgent.
Clarity + Focus
Dashboards needed to lead with flagged anomalies and satellite status, not bury them inside raw data dumps.
Customization
Operators needed granular signal detail. Mission managers wanted high-level summaries. The same tool had to serve both without compromise.
Interactivity
Static charts weren't enough. Users wanted to zoom, filter, and hover: the kind of manipulation that turns a chart into an investigation.
Benchmarking high-density interfaces

For reference, I looked at high-density dashboards in finance and analytics, as well as existing satellite platforms, including SpaceX's Starlink dashboards and traditional orbital monitoring tools.

Starlink dashboard reference Orbital monitoring tool reference Starlink monitoring dashboard

Existing Starlink dashboards

What worked
  • +High-density data for expert users
  • +Seamless data export integrations
What was missing
  • Cluttered layouts that buried critical signals
  • No at-a-glance status. Yash's team kept naming this.
  • Limited interactivity; charts you couldn't manipulate
  • Designed for experts; excluded non-technical users
Identifying the original style guide

Before any wireframes, we needed a visual foundation. We pulled Amazon's Alexa style guide and while engineers were working on identifying a clear backend process, I built a mock login page.  Not to ship it, but to feel out whether that language actually fit what we were making. 

Mock register screen built from Alexa style guide Mock register screen variant built from Alexa style guide Mock login screen built from Alexa style guide

Mock screens built from the Alexa style guide. A starting point to react to before figuring out what we actually wanted.

Hypothesized solutions

From all of that, three goals shaped how we approached the build. They came before any screens.

Scalability
Handle a growing constellation without the interface becoming unreadable.
Anomaly Detection
Make unusual behavior visible at a glance. No digging required.
Intuitive Control
Work for both technical analysts and mission managers without a learning cliff.

Two concepts emerged: a General Dashboard as the primary entry point (satellite health, performance metrics, system alerts) and an Anomaly Dashboard as the focused tool for detecting, diagnosing, and addressing specific issues within specific sattelites.

TransGlobal dashboard reference Sentry performance dashboard reference Wise statistics dashboard reference

Referenced dashboard models

Working with the codesigner

My co-designer and I spent a lot of time thinkinf about the clarity of our visualizations; if they looked like they belong in a satellite tool and if they could actually help someone spot a problem fast. I found the most useful question wasn't "does this look right." It was "would someone trust this at a quick glance when something's wrong."

Immediate system status view Visual telemetry bars Revised satellite dashboard — simplified away from Amazon style guide Revised satellite dashboard detail view Report generation modal

Revised designs: stepped away from Amazon's component library toward something simpler and more buildable.

Low fidelity to mid-fidelity


Mid-fidelity frame Mid-fidelity frame Mid-fidelity frame
Mid-fidelity frame Mid-fidelity frame

Mid-fidelity explorations: layout decisions that started to feel real.

Pitching to Yash

We ran three feedback sessions with Yash where we found out which visualizations were confusing, where the anomaly indicators fell short, and how close we actually were to the real analyst workflow. 

Three main things came back from those sessions.

01
Flexibility
Users wanted to see multiple graphs at once to compare variables. The layout needed to be more modular: something they could rearrange on the fly.
02
Satellite Comparison
Teams needed to toggle between satellites being compared without navigating away. Context switching was already the problem; the fix couldn't reintroduce it.
03
At-a-Glance Visibility
A gap remained between non-technical users and the volume of data visible on open. The entry view needed a stronger summary layer before anything else loaded.
Designing the pitch deck

I designed the pitch deck from scratch to bring Yash through the early designs; though we weren't finished, it was important to make something legible to a stakeholder. When developin the slide design, I thought a lot about how I wasn't just showing work, but I was building the package that Yash would use to react to it and our professional capability as a student group.

Pitch deck slide 1 Pitch deck slide 2 Pitch deck slide 3 Pitch deck slide 4 Pitch deck slide 5 Pitch deck slide 6 Pitch deck slide 7 Pitch deck slide 8 Pitch deck slide 9 Pitch deck slide 10 Pitch deck slide 11 Pitch deck slide 12 Pitch deck slide 13 Pitch deck slide 14 Pitch deck slide 15 Pitch deck slide 16 Pitch deck slide 17 Pitch deck slide 19

Pitch deck designed from scratch. 19 slides built to walk Yash through the proposal.

What actually makes a satellite dashboard readable?
Design decisions
Going back to the drawing board

Yash's feedback was useful and it was also hard to hear; what we'd built was too tied to Amazon's visual system and more complex than our engineers could ship in the very limited time we had. We basially started over,  rebuilding the information architecture from the ground up and figuring out the structure before touching any screens with a design system re-built specifically for this tool.

01
Dashboard
System Health Summary
Anomaly Alerts
Quick Navigation
02
Telemetry Monitoring
Signal Graphs
Anomaly Highlighting
Signal Filters
03
Investigation Panel
Selected Signal Details
Related Telemetry Signals
Historical Comparison
04
Report Generation
Summary Export
Anomaly Documentation

Four modules, each mapped to a distinct phase of what an analyst actually does.

What does the final design language actually look like?
Style guide & user journey

We settled on a scheme much darker by necessity, but with intentional color. The data is already dense, so color is used sparingly (calm baseline, loud signal). Every decision traces back to one constraint: the interface can't add to the noise.

Color system
Backgrounds
Page
#0b0b0f
Panel
#111118
Cards
#1a1a24
Active
#24243a
Semantic accents
Blue
Primary / focus
Teal
Secondary data
Amber
Data line 3
Orange
Warning / flagged
Red
Critical / error
Typography
SF Pro Display, Helvetica Neue  ·  Mono: DM Mono, Fira Code
General Dashboard
Section header · 18px · 700
Satellite Data Overview
Panel header · 14px · 500
1250
Metric value · 28px / tabular nums
STARLINK-3010 · 66% confidence
Body / label · 10px · 300–400
Components
Status badges
Nominal Anomalous Parking Critical Inactive
Buttons
Metric cards
Satellites
25
TLEs tracked
1250
Anomalous
3
Navigation
General
Anomaly
Parking
User Journey

The dashboard was rebuilt around one continuous workflow: open the tool, find the issue, investigate it, file a report. Every stage maps to a specific pain point from the old manual process.  Since we knew this product would end up being built on by engineers after us, we wanted to make sure we had developed a solid foundation with clear logic.

01
Open Tool
Scan many graphs
3 instant summary metrics
02
Identify Issues
Manually scan dozens of graphs
Anomaly alerts surface automatically
03
Prioritize
Hard to determine severity
Ranked by severity with red signals
04
Investigate
Slow navigation between graphs
Drill-down panel with focused telemetry
05
Decide Action
Context scattered across tools
Related signals shown in context
Immediate system status

The version we landed on opens on three plain numbers: running, flagged, under review. The most important question gets answered the moment you open it.

Visual telemetry bars

Length is faster to parse than digits across hundreds of rows. That part still feels right to me. But the bars were also one of the harder components to implement. I found myself asking whether they were serving the user or serving the design. What we landed on is simpler, more buildable, and more honest about the constraints we were working in.

Modular information layers

The interface runs in three layers: a constellation overview for the big picture, a satellite table for mid-level telemetry, and a detailed anomaly panel for digging in. An analyst can go from "something's wrong" to "here's what's wrong and why" without switching tools.

Report generation

Detecting an anomaly is one step. Documenting it is another. A report generation modal lets analysts export telemetry summaries directly from the dashboard. The whole workflow, detection to documentation, stays in one place.

Final frames
General Dashboard — Summary Metrics
General Dashboard — summary metrics state
General Dashboard — Scatter Plot
General Dashboard — scatter plot, RAAN vs Semi Major Axis
Parking Dashboard — Satellite List
Parking Dashboard — satellite list with orbital element graphs
Anomaly Dashboard — Orbital Elements
Anomaly Dashboard — multi-graph orbital element view

General Dashboard (summary + scatter), Parking Dashboard, Anomaly Dashboard. V1.0 dark theme.

Anomaly drill-down investigation panel with telemetry graphs

The drill-down panel: all relevant signals for a single anomaly, without navigating away from the dashboard.

What did we actually hand off?
Impact

The final deliverable was a working baseline prototype, presented to Amazon Kuiper's D.C. team, of which their engineer specifically named the interface clarity and the pitch materials. After that, the project moved to Amazon's engineering team to build out.

I also designed the handoff deck that went with it, another one I built from scratch, covering onboarding, IP transfer, notes and considerations, and the AWS architecture diagrams the engineering team would need to pick the project up.

Handoff deck slide 1 Handoff deck slide 2 Handoff deck slide 3 Handoff deck slide 4 Handoff deck slide 5 Handoff deck slide 6 Handoff deck slide 7 Handoff deck slide 8 Handoff deck slide 9 Handoff deck slide 10 Handoff deck slide 11 Handoff deck slide 12 Handoff deck slide 13 Handoff deck slide 14 Handoff deck slide 15 Handoff deck slide 16 Handoff deck slide 17 Handoff deck slide 18 Handoff deck slide 19 Handoff deck slide 20 Handoff deck slide 21 Handoff deck slide 22 Handoff deck slide 23 Handoff deck slide 24 Handoff deck slide 29

Handoff deck designed from scratch, walking Amazon's engineering team through onboarding, IP transfer, and architecture.

What does precision actually mean in design?
Reflection
Precision and readability can feel like they're in tension.
Satellite telemetry isn't a domain where you get to simplify. Engineers trust the data because it's precise, so the design had to preserve that while still being readable.
Good dashboards don't show more data.
They help you understand the right data faster. Visual hierarchy in a dense interface isn't decorative, it's the whole point.
I'd build a natural language query layer.
Given more time, I'd want something that lets analysts just ask the constellation a direct question, rather than reading it off a screen.
Learning the domain comes first.
I couldn't have built a single useful screen without understanding what orbital mechanics actually looks like in someone's workday.