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.
15
Lessons
Zero to capstone
04
Live labs
Browser to server
01
Local store
IndexedDB, no account
The path
4 MODULES / 15 LESSONSFoundations
The transport choices and two connection models behind every real-time product.
- 01Real-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 - 02WebSocket from the wire upCore
Upgrade handshakes, frames, heartbeats, close codes, reconnection, rooms, and scaling a real WebSocket service.
42 min - 03How WebRTC connectsFoundation
Follow a call from permission prompt to media flowing: signaling, ICE, DTLS, SRTP, and what each side really does.
24 min
Media & signaling
Capture media, exchange session descriptions, and find a path across the internet.
- 04Media capture that behavesCore
Use getUserMedia and getDisplayMedia correctly, negotiate constraints, switch devices, and clean up tracks.
30 min - 05Signaling: the missing linkCore
Design a WebSocket signaling protocol with join, offer, answer, ICE, and leave messages that survives real rooms.
28 min - 06SDP without the fogCore
Read a real session description line by line: m-lines, codecs, directions, ICE credentials, and fingerprints.
32 min - 07ICE, 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 - 08The RTCPeerConnection lifecycleCore
Master connection, ICE, signaling, and gathering states so you can diagnose exactly where a call is stuck.
26 min
Data, transport & quality
Move arbitrary data, understand the encrypted media pipeline, and measure what users feel.
- 09Data channelsCore
Chat, files, and game state over SCTP with the right reliability, ordering, and backpressure choices.
30 min - 10Media transport: DTLS, SRTP & codecsAdvanced
Follow media through encryption, congestion control, simulcast, and SVC, and understand the cost of every quality knob.
34 min - 11Network quality & getStatsAdvanced
Measure RTT, jitter, packet loss, bitrate, and frames from getStats, then turn those numbers into user-facing truth.
30 min
Scale & production
Choose a topology, harden the system, debug failures, and ship the capstone.
- 12WebRTC topologies at scaleAdvanced
P2P, mesh, SFU, MCU, cascaded SFUs, broadcast, and server-side participants, with the math behind each choice.
55 min - 13Security & privacyAdvanced
Encryption boundaries, permission hygiene, IP privacy, TURN credentials, and the threats WebRTC does not solve for you.
28 min - 14Debugging real-time systemsProduction
A field checklist for stuck connections, missing tracks, bad audio, and browser-specific WebRTC failures.
26 min - 15Capstone: 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
WebSocket workbench
Open a live socket, send validated frames, measure latency, and kill the connection on purpose.
OPEN LAB Lab 02The 1:1 connection lab
Build a peer connection step by step with automatic or manual signaling, or loop back in a single tab.
OPEN LAB Lab 03Mesh under load
Join several tabs into a full-mesh room and watch bandwidth and encoder count grow.
OPEN LAB Lab 04SFU relay lab
Compare one-upload/many-download forwarding with mesh, then connect a LiveKit SFU when configured.
OPEN LABHow to get the most out of this
- 01
Read with the diagram open
Step through it before reading the code. Predict what the next message does.
- 02
Say the failure out loud
For every Do/Don't, name the symptom a user would report. That is how debugging starts.
- 03
Break the lab
A connection that only works on your laptop is not understood. Force TURN, drop candidates, close the socket.