Conflict-free Replicated Data Types, Offline-first, Synchronization, Distributed Collaboration