







A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
A Conflict-Free Replicated JSON Datatype
Many applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption.
An introduction to Conflict-Free Replicated Data Types (CRDTs)

Proposal for a CRDTs on At Proto Working Group
There’s been some work done on using the PDS / At Proto as a to store and transmit CRDT operations. There is a general feeling that if we can figure out the right approach for this it will enable a number of new experiences on At Proto, specifically a collaborative editing approach that is localfirst. We hope that as a working group we can come up with some of the following: A set of best practices and recommendations that apps can adopt to enable collaborative, localfirst, editing via crdts ...

Welcome to Automerge
Automerge is a library for building collaborative, local-first applications.

CRDT Papers • Conflict-free Replicated Data Types
Resources and community around CRDT technology — papers, blog posts, code and more.
How Notion handles concurrent editing with CRDTs
Building a CRDT-based rich-text system that merges concurrent edits across Notion blocks—without losing anyone’s work

pg_crdt - an experimental CRDT extension for Postgres
Embedding Yjs and Automerge into Postgres for collaborative applications.

Collaborative Text Editing without CRDTs or OT - Matthew Weidner
Matthew Weidner | May 21st, 2025 Home | RSS Feed Keywords: text editing, server reconciliation, Articulated
cola: a text CRDT for real-time collaborative editing
A deep dive into the theoretical framework and the technical implementation of a text CRDT.

Conflict-Free Replicated Data Types (CRDTs)
About CRDTs • Conflict-free Replicated Data Types
Resources and community around CRDT technology — papers, blog posts, code and more.
The CRDT Dictionary: A Field Guide to Conflict-Free Replicated Data Types - Ian Duncan
A comprehensive guide to CRDTs and their tradeoffs, from counters to sequences. Written in the spirit of the Typeclassopedia, exploring how different CRDTs solve the distributed consensus puzzle.
Peter van Hardenberg - Ink and Switch, Automerge
Peritext: A CRDT for Rich-Text Collaboration
Collaboration on rich text is hard to model with plain-text approaches. We review the challenges and how to construct a CRDT for rich text.

Paul Copplestone - e/postgres on Twitter / X
we've released a CRDT extension for Postgres (experimental and open source)why? A CRDT is a special data type used for collaboration - think of a Google Doc. The changes are merged even as people are typing simultaneouslythese CRDTs are then serialized on a server and then… pic.twitter.com/WJDJlK733D— Paul Copplestone - e/postgres (@kiwicopple) November 21, 2025
