
Local-First Conf 2025
Talks, Day 1
The first day of talks is on Tuesday, May 27. The venue is nHow Berlin located at Stralauer Allee 3, 10245 Berlin.
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
Venue opens (coffee, snacks)
Welcome by MC
Playbit sync Rasmus Andersson
General-purpose sync with IVM Aaron Boodman
Sync different: Event sourcing in local-first apps Johannes Schickling
Collaborative text editing without CRDTs or OT Matthew Weidner
How Local First is accidentally perfect for the AI age Anselm Eickhoff
Lunch
Learn just enough about Chrome built-in AI to be productive Thomas Steiner
Building a synchronous experience with asynchronous data: Linear's sync engine Tuomas Artman
CRDTs as a temporal data structure Paul Butler
The big questions of Local First Adam Wiggins
Break (drinks, snacks)
Building a Yjs sync provider using Cloudflare Workers Timo Wilhelm
Introducing TanStack DB James Arthur
Safe in the Keyhive: Local-first access control with E2EE and capabilities Brooklyn Zelenka
Beelay, a (reasonably) generic encrypted sync protocol for CRDTs Alex Good
Sync engine's best friend: fine-grained rendering Dev Agrawal
Wrap up
CRDTs as a temporal data structure
May 27 14:45 - 15:00
It's often useful in applications to have a historic view of data (e.g. "revision history" in GDocs, or the commit log in Git). Storing this efficiently requires data structures that can "delta encode" the data over time, storing only what has changed.
In this talk, we'll explore how CRDTs can be used for delta encoding arbitrary data structures, and see how the Yjs CRDT can be transformed into a temporal data structure. In the process, we'll gain an understanding for how the Yjs CRDT represents data internally and on the wire.