Skip to content

The full curriculum

Real-time, from first principles to production.

Fifteen lessons. Four live labs. No hand-waving. You will read the wire formats, build the signaling paths, measure the connections, and break them on purpose.

Start at lesson 0115 lessons · 4 labs · ~8 hours

15

Lessons

Zero to capstone

04

Live labs

Browser to server

01

Local store

IndexedDB, no account

The path

4 MODULES / 15 LESSONS
01

Foundations

The transport choices and two connection models behind every real-time product.

  1. 01
    Real-time is a spectrumFoundation

    Polling, long polling, SSE, WebSocket, and WebRTC: what each one is actually good at, and why the wire matters.

    18 min
  2. 02
    WebSocket from the wire upCore

    Upgrade handshakes, frames, heartbeats, close codes, reconnection, rooms, and scaling a real WebSocket service.

    42 min
  3. 03
    How WebRTC connectsFoundation

    Follow a call from permission prompt to media flowing: signaling, ICE, DTLS, SRTP, and what each side really does.

    24 min
02

Media & signaling

Capture media, exchange session descriptions, and find a path across the internet.

  1. 04
    Media capture that behavesCore

    Use getUserMedia and getDisplayMedia correctly, negotiate constraints, switch devices, and clean up tracks.

    30 min
  2. 05
    Signaling: the missing linkCore

    Design a WebSocket signaling protocol with join, offer, answer, ICE, and leave messages that survives real rooms.

    28 min
  3. 06
    SDP without the fogCore

    Read a real session description line by line: m-lines, codecs, directions, ICE credentials, and fingerprints.

    32 min
  4. 07
    ICE, STUN, TURN: finding a pathAdvanced

    How peers discover addresses, traverse NAT, run connectivity checks, and fall back to a relay when nothing else works.

    38 min
  5. 08
    The RTCPeerConnection lifecycleCore

    Master connection, ICE, signaling, and gathering states so you can diagnose exactly where a call is stuck.

    26 min
03

Data, transport & quality

Move arbitrary data, understand the encrypted media pipeline, and measure what users feel.

  1. 09
    Data channelsCore

    Chat, files, and game state over SCTP with the right reliability, ordering, and backpressure choices.

    30 min
  2. 10
    Media transport: DTLS, SRTP & codecsAdvanced

    Follow media through encryption, congestion control, simulcast, and SVC, and understand the cost of every quality knob.

    34 min
  3. 11
    Network quality & getStatsAdvanced

    Measure RTT, jitter, packet loss, bitrate, and frames from getStats, then turn those numbers into user-facing truth.

    30 min
04

Scale & production

Choose a topology, harden the system, debug failures, and ship the capstone.

  1. 12
    WebRTC topologies at scaleAdvanced

    P2P, mesh, SFU, MCU, cascaded SFUs, broadcast, and server-side participants, with the math behind each choice.

    55 min
  2. 13
    Security & privacyAdvanced

    Encryption boundaries, permission hygiene, IP privacy, TURN credentials, and the threats WebRTC does not solve for you.

    28 min
  3. 14
    Debugging real-time systemsProduction

    A field checklist for stuck connections, missing tracks, bad audio, and browser-specific WebRTC failures.

    26 min
  4. 15
    Capstone: ship a 1:1 video appProduction

    Combine rooms, signaling, reconnection, matchmaking, observability, and cleanup into a production-ready call flow.

    60 min

Labs are part of the text

How to get the most out of this

  1. 01

    Read with the diagram open

    Step through it before reading the code. Predict what the next message does.

  2. 02

    Say the failure out loud

    For every Do/Don't, name the symptom a user would report. That is how debugging starts.

  3. 03

    Break the lab

    A connection that only works on your laptop is not understood. Force TURN, drop candidates, close the socket.