Building a real-time collaboration tool using CRDTs and Kotlin Multiplatform
summary
A real-time collaborative board is built using CRDTs and a Kotlin Multiplatform core library shared across Android, iOS, web and backend, syncing over websockets with offline persistence. Conflict resolution uses hybrid logical clocks for ordering, grow-only sets plus tombstones for deletions, fractional (base-63) Z indices for infinite ordering, and external image uploads with grow-only layer readiness. The Microsoft Teams web client and mobile apps run and sync correctly in production.
AI-written summary · about
chapters (10)
- 0:00Introduction and agenda
- 1:52About Bontouch and Postit app
- 3:37Need for real-time sync and CRDTs
- 5:03CRDTs properties and benefits
- 8:51Hybrid logical clocks explained
- 15:14Implementing CRDTs in Kotlin
- 20:37Data model design challenges
- 27:40Kotlin Multiplatform choice
- 35:03Key learnings and takeaways
- 38:59Q&A and closing
related talks
45mOffline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
42mEmbracing the Future in a Multiplatform World: A Kotlin Story
30mCollaborative koloring with Kotlin
45mKotlinX Libraries
21mCRDTs for Mortals
34mKotlin Multiplatform: code sharing without compromise
46mExploring the Kotlin Multiplatform Ecosystem
48mEffective Multiplatform Kotlin Development
