- Automerge: Making servers optional for real-time collaboration A very clear explanation by Martin Kleppmann of how CRDTs work, along with an introduction to Automerge. This is the video that started me down this whole road, as documented in this blog post
- Local-first software: You own your data, in spite of the cloud The manifesto that gave a name to the concept and that still stands as the best introduction to it; by Martin Kleppmann & Peter Van Hardenberg et al.
- localfirst.fm A podcast by Johannes Schickling about local-first software development. The first episode with Peter Van Hardenberg gives a good overview of the current state of the art.
- Automerge is a JSON CRDT — a data structure that makes it possible to keep replicas of your data in sync without a manual conflict-resolution step. To get familiar with it, I'd suggest writing some simple tests to show how it handles different kinds of merge scenarios.
- Automerge Repo is a "batteries-included" wrapper that adds support for a collection of Automerge documents, and provides pluggable networking and storage. It's worth going through the quickstart, in which you build the simplest possible local-first application — a counter that's kept in sync between two browsers. I'd then suggest building a simple application on top of that — a chat app, or a recipe app, or something — using the React Todo demo as a reference.