Fearless replication: building a CRDT in JS
Nowadays, users expect every application to sync seamlessly across devices. Implementing a reliable synchronization mechanism is not trivial, and can become a major challenge if we want our applications to keep working without a stable internet connection (aka. local-first). In this talk, we’ll talk about CRDTs (aka. Conflict-free Replicated Data Types), a data structure that makes state synchronization between replicas a breeze, even when lacking a stable connection. CRDTs are extremely versatile, making it possible to power use cases like real-time collaboration (eg. Google Docs), all the way down to distributed databases. We’ll introduce the necessary concepts step by step, building a basic, but fully functional CRDT in JavaScript, giving you the foundations to add them to your distributed systems toolbox.