Fast, Realtime, and Offline-First Apps with Sync Engines
Users expect every click to commit locally in milliseconds, keep working without a network, and reconcile cleanly when connectivity returns. This talk shows how to build that behavior with a sync engine instead of layering ad hoc polling, WebSocket handlers, and fragile optimistic updates onto a traditional client/server app.
We’ll walk through a practical architecture: a local database such as SQLite or IndexedDB as the source of truth on the client, server-side change data capture using logical replication or an append-only change log, and selective replication so each device syncs only the records it is allowed to read. From there, we’ll cover implementation details that usually get hand-waved away: background sync queues, idempotent mutations, version vectors or CRDT-based conflict handling, and designing UI states around eventual consistency.
You’ll leave with concrete patterns for shipping collaborative, offline-capable features incrementally, plus a migration path for introducing sync into an existing app without a full rewrite.