
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.
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
Sync engine's best friend: fine-grained rendering
May 27 18:00 - 18:15
We all love sync engines for their ability to simplify state management and enable instant UI interactions, but the secret third benefit is the potential of highly efficient data processing. Sync engines that own the state on both client and server have this incredibly ability to only push granular changes to the client as they happen. So it’s a shame that we hand this granular data off to a UI renderer that has no idea how to process them and resorts to rerunning and diffing everything. What if our UI renderer matched the technical capability of our state management?
This talk will show how modern renderers like Svelte and Solid can take full advantage of sync engines’ ability to make incremental updates to the data, and do the absolute minimum work required to update the UI, instead of recomputing large sections of the UI and reconciling with the current UI.