Course 01 · open now

Learn telemetry by building it

Four modules. You run Kafka, the ATLAS Stream API and a simulated race car, write code against them, and a bot runs your version and tells you what happened. Free, in a browser tab, no licence.

Sandbourne Park 3,806 m · 60 Hz

Live off the stream. Six channels, each at its own rate, in the units its definition declares. Nothing on this page is hardcoded.

your repository module 01
$ lab check Running the same validator the bot runs. ## Module 01 — Make it yours ### Passed The stack came up, the producer streamed a lap through the Stream API into Kafka, and the session carries your handle. Session ............. Sandbourne Park Messages in Kafka ... 15,700 Configuration ....... 19 Module 01 passes. Submit it with: lab submit

How it works

Write code, push it, get marked

  1. 01

    Open a Codespace

    Docker, Python and Node are already in it and the images are pre-pulled. One docker compose up and the stack is live.

  2. 02

    Change the code

    Each module asks for one change. lab check grades it on your own machine in seconds. It is the same code the bot runs.

  3. 03

    The bot marks it

    lab submit opens a pull request. The bot runs the whole pipeline on a clean machine, comments with what it found, and on a pass advances you and merges.

Catalogue

The course

Four modules, each with a machine-checkable outcome. You work on a branch, open a pull request in your own repository, and the bot runs the pipeline against what you wrote.

Course 01 Open now

Introduction to Open Streaming Foundations

The pipeline, and the four ideas a bare Kafka topic has no concept of.

4 modules · free · no licence

  • Module 01 Make it yours

    Get a real pipeline running, and find out what a session actually is.

    graded — the session carries your handle, and the data reaches Kafka

  • Module 02 Add a channel

    Declare a parameter and emit it. A consumer you did not touch picks up its units.

    graded — a channel the lab does not ship appears, with units

  • Module 03 Fix the broken producer

    A variant produces jumpy traces. Nothing errors. Every value is correct. Find out why.

    graded — zero discontinuities across the session

  • Module 04 Write your first consumer

    Decode the stream yourself, in any language. The validator invents a new channel each run, so you cannot hardcode your way through.

    graded against what the producer recorded sending

Why not just Kafka and a database

Telemetry is not generic time-series data

You can build a pipeline out of Kafka, InfluxDB and Grafana. Most teams do, and then rebuild sessions, units and sample rates by hand, every time. That is what this platform already has, and what the course teaches.

A bare Kafka topicATLAS Open Streaming
a channel a field name an identity with units, sample rate, valid range and display format, carried in-band
a session a time window you agree on a first-class lifecycle, with its own configuration attached
multi-rate your problem modelled: periodic, row and synchro forms
laps & events a table you maintain separately timestamped markers on the stream
a late joiner your problem configuration is explicit, so you know what you missed

The usual symptom of not having this is a chart that has quietly been in the wrong units since somebody swapped a sensor eighteen months ago.

Finishing a course

There is no certificate

You keep your repository: the code you wrote, four merged pull requests, and a GitHub Actions URL for every run that passed. Anyone can open them, including someone deciding whether to interview you.

your repository after course 01

Course 01  Open Streaming Foundations  complete

01  Make it yours         passed  run ↗
02  Add a channel         passed  run ↗
03  Fix the broken producer  passed  run ↗
04  Write your first consumer passed  run ↗

repository  github.com/yourhandle/telemetry-lab ↗

Questions

Before you start

The rest are on the course page.

What is the ATLAS Telemetry Lab?

A free course in real-time telemetry. You copy a repository, open it in a browser, and a Kafka broker, the ATLAS Stream API and a simulated race car start up. You change the code. A bot runs it against the pipeline and tells you what happened. Course 01 has four modules.

Do I need an ATLAS licence?

No. Everything course 01 runs is public on Docker Hub. ATLAS Viewer, the desktop application, is not used.

What does it cost?

Free. It runs in your own GitHub Codespace, which comes with 60 hours a month free. The course takes about one of them.

How long does course 01 take?

About an hour. The Codespace takes three or four minutes to build. Each module is one change to the code, and the bot takes about two minutes to grade a submission.

How is my work marked?

A GitHub Actions workflow in your own repository runs the whole pipeline against your code and comments on your pull request. It checks what the code did, not how it is written. Solve a module a different way and it still passes.

What do you collect?

This site counts page views with Google Analytics. Consent is set to denied, so it sets no cookies and shows no banner. The course sends nothing unless you opt in when lab submit asks. When on, each graded pull request reports the module number, pass or fail, the course name, the template version and a random ID for your copy. The report contains no username, repository name or code. The privacy page lists every field and how to turn it off.

Start

What you need

Your own copy of the lab from the template, and a Codespace. The images are already pulled and the stack idles at 442 MiB, well inside GitHub's free tier for the length of the course.

# in your Codespace
docker compose up -d --wait kafka stream-api key-generator
lab check
lab submit
Get your copy or run it locally with Docker, Python 3.12 and Node 22