Skip to content
DON LOKUGE.

Selected work

Case study 04

Rilla / Live streaming at scale

One live stream, ten thousand screens.

Client
Rilla
Engagement
Founding engineer, 2024–2025
Discipline
Realtime Streaming, Rust, Platform Engineering
Stack
TypeScript, Rust, Kotlin, WebRTC, HLS / DASH

01

Overview

I joined Rilla as a founding engineer to help build a network for delivering live video at scale. A stream reaches viewers through CDN edges in several regions, and viewers share segments with each other so the network carries more of the load as audiences grow.

02

Responsibilities

  • Built the web player plugin and the first TypeScript SDK, with seamless switching between peer and CDN delivery and playback kept in sync across peers.
  • Designed and built a real-time metrics service in Rust that handles more than 10,000 concurrent devices with responses under 10 ms at p99.
  • Delivered the first version of the Android SDK in Kotlin.
  • Built a tool that simulates poor networks, with throttled bandwidth, added latency and packet loss, to test playback against real-world conditions at scale.
  • Contributed to the simulation dashboard used to run and watch distributed playback tests.

03

How it flows

LIVE STREAMLive eventOne sourceMULTI-REGIONCDN edgeRegion 01CDN edgeRegion 02CDN edgeRegion 03CONCURRENT DEVICES0METRICS RESPONSE, P99< 10 msPeers share the load
A live stream reaches ten thousand concurrent devices through CDN edges in several regions, with peers passing segments on to each other.

One live source fans out through CDN edges in several regions. Devices connect to their nearest edge, and peers pass segments on to the devices around them. Every playback reports how it is going, so problems show up while the stream is still live.

04

Decisions

The CDN is always the fallback

When a peer is slow or drops out, the player falls back to the CDN without the viewer noticing.

Measure every playback, live

Buffering, latency and fallbacks are reported from each device as they happen, so the network can react during the event rather than after it.

Test against bad networks, not good ones

Playback was tested at scale under throttled, lossy and high-latency conditions, because that is where live video breaks.

05

Lessons