01 / DECISION
When this primitive earns a place
Choose RealtimeKit for fast product integration, SFU for custom media logic, and TURN for connectivity—not as interchangeable labels.
02 / ARCHITECTURE
Build the smallest defensible path
Define participant identity and roles, choose the media abstraction, issue short-lived access, model reconnect and track lifecycle, and collect quality signals.
- 01Name the contract
Choose RealtimeKit for fast product integration, SFU for custom media logic, and TURN for connectivity—not as interchangeable labels.
- 02Add one primitive
Define participant identity and roles, choose the media abstraction, issue short-lived access, model reconnect and track lifecycle, and collect quality signals.
- 03Capture failure evidence
Test join, leave, reconnect, denied roles, muted tracks, weak networks, and cleanup; measure time-to-media and failure recovery.
03 / REPRODUCE
Evidence before confidence
Test join, leave, reconnect, denied roles, muted tracks, weak networks, and cleanup; measure time-to-media and failure recovery.
curl -fsS https://developers.cloudflare.com/realtime/ 04 / BOUNDARY
The production boundary
The media plane does not create rooms, moderation, consent, or recording policy automatically. Network loss and device variance are normal.
05 / FIRST-PARTY SOURCES
Keep first-party sources authoritative
Product behavior, limits, pricing, and availability can change. Re-check these sources before acting.