Case study · WüSpace

Telestion: ground station software in a few lines

How developer experience work kept one of the most complex software domains out of the developer's way.

My role
DevEx lead
Organisation
WüSpace
Project
Open-source TypeScript framework

The challenge

Ground station and mission control software is about as complex as domains get: live telemetry, many services, hardware at the other end and a mission at stake.

What I did

I led Telestion's developer experience end to end. The goal was simple to state: keep the domain's complexity out of the developer's way.

  • API design, so that everyday tasks read as short, plain code
  • Docs and quickstart, from the first steps to the reference
  • Examples and samples developers can copy and build on
  • Tooling and onboarding for new team members and users
  • YouTube videos about the framework

The result

A service that watches telemetry and raises a warning reads like this:

low-altitude-warning.ts
const { messageBus } = await startService();

const telemetry = messageBus.subscribe('telemetry');

for await (let packet of telemetry) {
    const data = telemetrySchema.parse(packet);
    if (data.altitude < 10_000) {
        sendWarning(`Low Altitude: ${data.altitude}`);
    }
}

Sample from telestion.wuespace.de.

A task as complex as ground station software can come down to a code sample of about five lines.

That's what good developer experience looks like from the outside: you read the code and understand it, without learning the whole framework first.

Credits

Telestion is a team effort by the Telestion team at WüSpace. I led the developer experience work.