Conflict-free replicated data type
Liveblocks is a neat application of CRDTs. Yjs is nice too. CRDT wiki is great.
Notes
Links
- James Long - CRDTs for Mortals (2019)
- Applied Monotonicity: A Brief History of CRDTs in Riak (2019)
- Why CRDT didn't work out as well for collaborative editing xi-editor (HN)
- How Figma’s multiplayer technology works (2019)
- HN thread on CRDT (2019)
- An API for data that changes over time (2019)
- Statecraft - Protocol and set of tools for interacting with data that changes over time.
- Full implementation of CRDTs using hybrid logical apps and a demo app that uses it
- Swarm.js - JavaScript replicated model (M of MVC) library.
- To OT or CRDT, that is the question (2020) (HN)
- CRDTs wiki (Code) (HN)
- Awesome CRDT
- Local-first packages & explorations
- Automerge in JS - JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically. (Tweet) (HN) (Docs) (HN)
- Automergeable
- Automerge in Rust
- Automerge persistent
- Peter Bourgon on CRDTs and State at the Edge (2020)
- Moving Elements in List CRDTs
- Chronofold: a data structure for versioned text (2020)
- roshi - Large-scale CRDT set implementation for timestamped events.
- CRDT benchmarks - Collection of reproducible benchmarks.
- pony-crdt - Delta-State Convergent Replicated Data Types (ẟ-CRDTs) for the Pony language.
- Jylis - Distributed in-memory database for Conflict-free Replicated Data Types (CRDTs), built for speed, scalability, availability, and ease of use.
- An introduction to Conflict-Free Replicated Data Types (2020) (HN)
- CRDTs: The Hard Parts (2020) (Abstract & References) (HN)
- CRDTs in a Nutshell (2020) (Lobsters)
- A First Replicating Type (2020)
- Conflict-Free Replicated Data Types (CRDTs) in Swift (2020)
- Local-first software: You Own Your Data, in spite of the Cloud (2019) (HN)
- Are CRDTs suitable for shared editing? (2020)
- Room Service - Faster-Than-Light Multiplayer Engine. (Docs)
- I was wrong. CRDTs are the future (2020) (HN) (Lobsters) (Reddit) (HN)
- A Pragmatic Approach to Live Collaboration (2020)
- Local First (2020)
- A Bluffers Guide to CRDTs in Riak
- bft-crdts - Byzantine Fault Tolerant CRDT's and other Eventually Consistent Algorithms. In Rust.
- Large-Scale Geo-Replicated Conflict-free Replicated Data Types
- CRDT notes
- syncpad - CRDT-based collaborative source code editor (featuring the Monaco editor).
- Verifying Strong Eventual Consistency in δ-CRDTs
- Reactive CRDT - Easy-to-use library for building collaborative applications that sync automatically.
- Conflict-free Reinterpretable Ordered Washed Data (CROWD) - Like CRDT but better. (Demo)
- crdt-tree - Implementation of a tree Conflict-Free Replicated Data Type in TS.
- CRDT Tutorial for Beginners
- CRDT optimizations (2021)
- Pure operation-based CRDTs (2021)
- Operation-based CRDTs: JSON document (2021)
- Text CRDT Prototype - Prototype of a simple high performance CRDT for text. Its loosely based off automerge.
- Faster CRDTs: An Adventure in Optimization (2021) (HN)
- Chronofold - Conflict-free replicated data structure (a.k.a. CRDT) for versioned text.
- What to use to build collaborative web application today (2021)
- HN: CRDT resources (2021)
- How do CRDTs solve distributed data consistency challenges? (2021) (HN)
- LWW-element-graphs study (Comment)
- go-ds-crdt - Distributed go-datastore implementation using Merkle-CRDTs.
- ldb - Replication of CRDTs in Erlang.
- CRDTs meet Redux
- Peritext - CRDT for asynchronous rich-text collaboration, where authors can work independently and then merge their changes. (Article)
- Automerge: a new foundation for collaboration software (2021) (Tweet) (HN)
- SyncedStore CRDT - Easy-to-use library for building live, collaborative applications that sync automatically. (Docs) (HN)
- valtio-yjs - Proxy state library for ReactJS and VanillaJS. yjs is an implementation of CRDT algorithm (which allows to merge client data without server coordination).
- Naisho - Architecture for end-to-end encrypted CRDTs.
- The limits of conflict-free replicated data types (2021)
- delta-crdts - Delta State-based CRDTs in JavaScript.
- Y-Py - Python binding for Y-CRDT.
- CRDT: Conflict-free Replicated Data Types (2018)
- Making CRDTs Byzantine Fault Tolerant (HN)
- A highly-available move operation for replicated trees (HN)
- Testing CRDTs in Rust, From Theory to Practice (2022) (Lobsters)
- CRDTs - Library of Conflict-Free Replicated Data Types for JavaScript.
- CRDT Swift - Convergent and Commutative Replicated Data Types implementation in Swift.
- Python CRDT - Python library for CRDTs (Conflict-free Replicated Data types).
- Designing Data Structures for Collaborative Apps (2022)
- Programming Local-first Software (2022)
- checked-automerge - Attempt at model checking Automerge.
- Vaxine - Rich-CRDT database platform for backend applications. (Web)
- Yboard - Multiplayer desktop-like workspace based on CRDT. (HN)
- Automerge Chat Demo