~/talk

Building a real-time collaboration tool using CRDTs and Kotlin Multiplatform

Talkat droidcon London 2022 · 2022-10-27..10-28· [distributed-systems, kotlin]
links:none on file
links:none on file
slides:none on file

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

  1. 0:00Introduction and agenda
  2. 1:52About Bontouch and Postit app
  3. 3:37Need for real-time sync and CRDTs
  4. 5:03CRDTs properties and benefits
  5. 8:51Hybrid logical clocks explained
  6. 15:14Implementing CRDTs in Kotlin
  7. 20:37Data model design challenges
  8. 27:40Kotlin Multiplatform choice
  9. 35:03Key learnings and takeaways
  10. 38:59Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.