Building Offline and Real-Time Applications - The Magic of CRDTs
summary
Demo converts a single‑player to‑do list into a multiplayer app using a last write wins map that adds unique IDs, timestamps and author IDs so operations become commutative, associative and idempotent. The talk shows the system resolving concurrent edits and offline edits (manual example: two users both add index‑3 items, then recover correctly) and claims the server is merely a relay enabling peer‑to‑peer sync. Libraries mentioned: Yjs and Automerge, services: Replicash Partykit Liveblocks.
AI-written summary · about
chapters (11)
- 0:00Offline and real-time apps
- 3:14What are CRDTs
- 6:24Why CRDTs for collaboration
- 10:18Fixing CRDT conflicts
- 12:26Handling offline users
- 14:34Timestamp collisions with author IDs
- 16:00Idempotency in CRDTs
- 17:24Last write wins map example
- 19:08Sorting in CRDTs
- 20:34Server role in CRDTs
- 21:58CRDT libraries and tools
related talks
32mCRDT and other new ideas for client-server communication
45mOffline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
30mEverything's better with friends
26mEverything's Better With Friends (how to build collaborative applications)
33mDoes the network seem thin up here? Collaborating with mountaintop mesh networks
13mHow to make a real-time collaborative text editor in 5 easy steps!
49mWhat CRDTs, distributed editing and the speed of light means to your writer friends
22mHappily Ever After: A CRDT Fairy Tale
