







Resources and community around CRDT technology — papers, blog posts, code and more.
CRDT Papers • 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.
Conflict-Free Replicated Data Types (CRDTs)
An Interactive Intro to CRDTs | jakelazaroff.com
CRDTs don't have to be all academic papers and math jargon. Learn what CRDTs are and how they work through interactive visualizations and code samples.

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

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 ...

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.

Exploring CRDT Lexicons
I’ve (alongside many others I’m sure) been working on CRDT work with atproto, and I think we’ll need to come up with some standard for how to represent CRDT data as lexicons. @chris.pardy.family has written a leaflet exploring what such a record could look like and is looking for feedback and thoughts: CRDT's on ATProto I think it’s a good start. It doesn’t tie us to any particular CRDT, though it doesn’t guarantee interop between different CRDT types, which seems fine to me. I’m thinking may...

Peter van Hardenberg - Ink and Switch, Automerge
Homomorphically Encrypting CRDTs | jakelazaroff.com
Homomorphic encryption allows a computer to run programs on encrypted data. Learn how homomorphic encryption works through interactive examples, build a homomorphically encrypted CRDT and see whether it has promise for local-first software.

Conflict-Free Replicated Data Types
Replicating data under Eventual Consistency (EC) allows any replica to accept updates without remote synchronisation. This ensures performance and scalability in large-scale distributed systems (e.g., clouds). However, published EC approaches are ad-hoc and error-prone. Under a formal Strong Eventual Consistency (SEC) model, we study sufficient conditions for convergence. A data type that satisfies these conditions is called a Conflict-free Replicated Data Type (CRDT). Replicas of any CRDT are guaranteed to converge in a self-stabilising manner, despite any number of failures. This paper formalises two popular approaches (state- and operation-based) and their relevant sufficient conditions. We study a number of useful CRDTs, such as sets with clean semantics, supporting both add and remove operations, and consider in depth the more complex Graph data type. CRDT types can be composed to develop large-scale distributed applications, and have interesting theoretical properties.

How CRDTs make multiplayer text editing part of Zed's DNA
From the Zed Blog: A detailed exploration of Zed's eventually-consistent text representation.

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

Composing capability security and conflict-free replicated data types — Spritely Institute
In August, I attended the DWeb Seminar where a small group of builders gathered to discuss the state-of-the-art and open problems in the distributed web space. Some in the group are primarily concerned with distributed data and focus on sync algorithms and local-first use cases. I am mainly concerned with distributed behavior and focus on the object capability security model. Both areas of study are steeped in their own lore and research papers, which makes it difficult for the two camps to communicate effectively with each other.
Best Practices for Working with Contributions
Tangled did a good post about contributions that I’ll need to follow up on but in the context of CRDTs I think it’s worth calling out a few differences and discussing best practices Constraints CRDTs require storage of some portion of an OP Log Some portion of the storage will be on a hosted server (PDS) A portion of those servers will be self hosted by an individual Contributions can come from many users There is a value in allowing contributions from a wide swath of users. Concerns Legal...
