Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automerge: A new foundation for collaboration software

Automerge: A new foundation for collaboration software

Slides from a talk given on 4 May 2021 at Philly ETE, and 4 Jun 2021 at Craft.


Lots of software these days needs to enable collaboration between several users. We know how to build basic web apps, where all users read and update data in a shared database. But real-time collaboration, as we know it from Google Docs or Figma or Trello, is a much bigger challenge. It gets even harder if you want to allow users to continue working while offline.

Automerge is an open-source library that aims to make collaboration software simple and robust. It provides a shared JSON-like data structure that several users can update at the same time, and which automatically merges all updates into a consistent view. It provides data formats for efficiently storing this data and syncing it between users. It seamlessly supports both offline work and live real-time collaboration while online.

Internally, Automerge is based on Conflict-free Replicated Data Types (CRDTs). In this talk we will explore some of the interesting computer science research that makes it possible, and see how it is used in practice.

Martin Kleppmann

May 04, 2021

More Decks by Martin Kleppmann

Other Decks in Programming


  1. Resources Automerge https://github.com/automerge/automerge Local-first https://www.inkandswitch.com/local-first.html Email [email protected] Twitter @martinkl Book

    http://dataintensive.net/ Huge thanks to the Automerge community and contributors, especially Peter van Hardenberg, Orion Henry, Alex Good, Andrew Jeffery, Herb Caudill, and many others!