What we're building
By the end of this tutorial, you'll have a working mental model — and working code — for implementing Conflict-Free Replicated Data Types in Kotlin Multiplatform shared code. We'll build an LWW-Register, compare state-based vs operation-based sync strategies, and walk through the architecture that lets you replace your entire sync backend with dumb blob storage.
Let me show you a pattern I use in every project with offline-first requirements.
Prerequisites
Kotlin Multiplatform project set up with commonMain, Android, and iOS targets






