Skip to content
All tags

#realtime

10 posts

Ably: Global Realtime Messaging with Channels, Presence, and Recovery

Ably manages global realtime connections, channels, presence, and short-window recovery; applications still own idempotency, durable business state, token capabilities, and offline resynchronization.

Convex: Building Reactive TypeScript Backends with Queries, Mutations, and Actions

Convex combines typed backend functions, a transactional document database, and reactive query subscriptions; correctness depends on separating deterministic mutations from side-effecting actions.

Liveblocks: Collaboration Backends with Presence, Storage, Comments, and Notifications

Liveblocks packages rooms, presence, conflict-free storage, comments, and notifications as managed product primitives; adoption still requires alignment with existing auth, canonical databases, and data lifecycle.

PartyKit: Turning Collaboration Rooms into Stateful Edge Servers

PartyKit concentrates WebSocket coordination in room-keyed stateful servers for multiplayer and presence, while durable documents, authorization, hibernation, and platform ownership still need explicit design.

PocketBase: A Single-Binary Backend with SQLite, Auth, and Realtime

PocketBase packages SQLite, collections, Auth, file storage, SSE realtime, and an admin UI into a small executable; deployment is easy, but single-host and pre-v1 compatibility limits matter.

Server-Sent Events: Recoverable One-Way Push over HTTP Event Streams

SSE sends text/event-stream over ordinary HTTP, with browser reconnection and Last-Event-ID; simple transport is not durable unless the server retains events behind that cursor.

Socket.IO: Realtime Events with Rooms, Acknowledgements, and Recovery

Socket.IO is an event protocol and runtime over WebSocket or long-polling, not a native WebSocket compatibility layer; ordering, arrival, recovery, and horizontal scaling need separate designs.

WebSocket: Duplex Connections Are the Start; Protocol and Backpressure Are the Work

WebSocket supplies a duplex message transport, not auth renewal, schemas, acknowledgements, replay, rooms, or backpressure policy; those layers determine production correctness.

Yjs and CRDTs: Concurrent Editing as Commutative, Replayable Document Updates

Yjs uses shared types and commutative, associative, idempotent binary updates to converge concurrent edits; it does not prescribe transport or include authorization, persistence, or domain conflict resolution.

Supabase: A Platform Built Entirely on PostgreSQL

Supabase isn't just an open-source Firebase alternative — its core design builds Auth, Storage, and Realtime entirely on PostgreSQL schemas and WAL. The result: everything is queryable with SQL, pgvector works out of the box, and AI agents can operate the entire platform by writing SQL. 108k GitHub stars, Apache 2.0, free tier with 500 MB database.