Back to All Projects
Systems Design & Engineering2026

Sahyadri Mission Control: Cloud mission control for small satellites

From a Figma Make prototype to a multi-tenant, role-based operations platform

My Role

Concept, interaction design & development

Status

Working platform with a simulator; all planned phases delivered

Tools & Tech

React 19TypeScriptTailwind v4FastAPIPostgreSQL + TimescaleRedisDockerPlaywright
Sahyadri Mission Control: Cloud mission control for small satellites
Telemetry with limits and alarms
Telemetry with limits and alarms
Commanding queue with approval and scheduling
Commanding queue with approval and scheduling

The Problem

Small-satellite teams run missions with a patchwork of scripts, spreadsheets and desktop tools, and many cannot afford their own ground stations. Mission control is also a safety-critical interface: operators work under time pressure, a wrong command is costly, and different people (directors, operators, engineers, station providers) need different levels of access.

The Idea

Sahyadri MCS is mission control as a cloud service. A team gets one console for fleet status, live telemetry, alarms, contact prediction, command queues and a mission log, and can book time on partner ground stations through a marketplace instead of owning every antenna.

I started from a Figma Make prototype with hard-coded screens and rebuilt it into a real system. The design question throughout was how to keep a dense, expert interface understandable and how to make risky actions deliberate, which connects directly to my human-factors work.

How It Works

  1. STEP 1

    Model the fleet

    Organisations, satellites and ground stations, with orbit propagation and pass (contact) prediction.

  2. STEP 2

    Ingest and watch

    A spacecraft and ground-link simulator feeds telemetry that is stored, checked against limits and streamed live to the console.

  3. STEP 3

    Command safely

    Commands go into a queue with approval, scheduling and sequences, with full history of who did what.

  4. STEP 4

    Share ground capacity

    Own stations (for example Nashik) are auto-confirmed. Partner stations in Bengaluru, Tromsø, Punta Arenas and Awarua are booked through the marketplace.

Design Decisions

Roles that shape the interface

Five roles (Org Admin, Mission Director, Operator, read-only Engineer and Ground Station Provider) map to one permission matrix. A test fails the build if any route is left unprotected.

Deliberate commanding

Approval and scheduling steps separate intent from execution, which reduces the chance of a slip becoming an irreversible action.

Tenancy enforced in the database

Every table carries an org id and Postgres row-level security isolates customers from each other.

Typed contract between front and back end

The API client is generated from the OpenAPI spec, and CI fails if it is stale.

Scope kept honest

Billing was deliberately deferred: bookings are free for now, so effort went into operations, not invoicing.

Where It Stands

  • Seven build phases completed: foundation and auth, orbit and contacts, simulator and live telemetry, commanding, marketplace, automation and dashboards
  • A demo organisation with three satellites, five ground stations and one account per role
  • A public marketing website, live on GitHub Pages