WebRTC
Slap yourself if
You think WebRTC is just peer-to-peer video chat with some signaling glue.
Why this exists
WebRTC exists because low-latency, real-time communication over the open web cannot rely on traditional request/response models or centralized media relays without unacceptable delay and cost.
Mental model
WebRTC is a negotiated, stateful transport system running over hostile networks. Media is the payload; connection establishment, NAT traversal, congestion control, and failure recovery are the real problems.
- Peers exchange session descriptions and candidates via an external signaling channel.
- ICE probes multiple network paths to establish connectivity.
- DTLS secures the connection and derives keys for media encryption.
- SRTP streams media with adaptive congestion control.
- The connection continuously renegotiates based on network conditions.
- Assuming signaling is part of WebRTC.
- Treating ICE success as binary instead of probabilistic.
- Ignoring TURN costs and latency implications.
- Assuming stable network conditions during a session.
WebRTC is a real-time communication stack that establishes secure, low-latency peer connections over unreliable networks, handling NAT traversal, encryption, and congestion control while leaving signaling and orchestration to the application.
- No fallback strategy when direct connections fail
- Hard-coding assumptions about NAT behavior
- Treating TURN as an edge case
- Debugging media issues without inspecting ICE state
Deep dive
Premium deep dives include more internals, more scars.