Realtime
WebSockets, presence, multiplayer, and CRDT sync.
Multiplayer / collaboration
- ★ Liveblocks — presence, comments, multiplayer cursors, Yjs/Automerge integration. Generous free tier; the easiest path to multiplayer.
- ★ PartyKit — Cloudflare-native; Durable Objects under the hood. Great for chat rooms, live cursors, custom multiplayer.
- Yjs — CRDT framework; pairs with WebSocket / WebRTC / IndexedDB providers. Used by Liveblocks, Tiptap collab, etc.
- Automerge — alternative CRDT; offline-first.
- TipTap + Hocuspocus — Tiptap's Yjs-backed collab server.
Pub/sub / messaging
- ★ Pusher Channels — battle-tested hosted WebSockets; free tier exists.
- ★ Ably — competitor; better realtime SLAs and presence APIs.
- Soketi — self-hostable Pusher protocol drop-in.
- Centrifugo — open-source realtime server; one of the best self-host options.
Bundled with platforms
- Supabase Realtime — Postgres CDC streamed to clients, plus broadcast/presence.
- Convex — every query is reactive by default.
- Firebase Realtime DB / Firestore — long-standing classic.
Lower-level
- socket.io — still huge in Node-only deployments.
- uWebSockets.js — fastest WebSocket lib for Node.
- Bun's native WebSockets — fast, ergonomic if you're on Bun.
- Cloudflare Durable Objects — single-instance stateful actors with WebSockets; the foundation for PartyKit and similar.
Sync engines (for offline-first apps)
See also Databases & ORMs:
- Replicache, Zero (Rocicorp) — sync engines.
- PowerSync, ElectricSQL — Postgres-backed sync.
- Triplit, InstantDB — full DB + sync layer.
Pick this if…
- Need cursors / comments fast: Liveblocks.
- All-Cloudflare: PartyKit.
- Self-host pub/sub: Centrifugo or Soketi.
- Already on Supabase / Convex: use the bundled realtime.
- Offline-first / local-first apps: Yjs + a sync engine, or Replicache/Zero.