Local-First, sync engines, CRDTs

NextGraph: E2EE sync engine, SDK, graph DB, and reactive ORM

<p>NextGraph is a protocol, a framework, and a platform that supports easy development of Local-First, decentralized, secure and private apps.</p> <p>By combining the best of the local first world (Yjs, Automerge CRDT libraries), a graph database, DID (decentralized identifiers) for users and documents, and end-to-end encryption plus encryption at rest, we provide an SDK that offers all the requirements of portability, interoperability and security needed today for building a true alternative to Big Tech platforms and products.</p> <p>This talk will be composed of two parts. Niko will first introduce the general architecture of our platform, engine, protocol and SDK, giving an overview of its components, and some details on the E2EE sync protocol, cryptographic capabilities/permissions/access control. We will show how we support any kind of CRDT, including Automerge and Yjs, and the CRDT for Graph database (RDF) that we have developed.</p> <p>Then Laurin will introduce the new ORM TypeScript SDK for <strong>NextGraph</strong> that turns document/database records into ordinary, typed objects with two‑way binding. By proxying those objects and emitting signals, the SDK provides a framework‑agnostic reactive layer that integrates cleanly with React, Vue, and Svelte. And more frameworks could be easily added in the future.</p> <p><strong>CRDT support</strong> - The SDK works with Yjs, Automerge, and, most notably, <strong>RDF</strong> - a graph data format designed for application interoperability. The SDK includes a converter that transforms <strong>SHEX</strong> shapes (an RDF schema language) into TypeScript type definitions for type safety.</p> <p><strong>Reactive POJOs</strong> - Objects are wrapped in a proxy, so any property change triggers a signal, which updates both the UI and sends a JSON patch to the backend. Signals provide an efficient, event‑driven mechanism for state propagation and have been gaining popularity in modern front‑end ecosystems.</p> <p><strong>You will see</strong> a live demo walking through a simple property change, showing how the mutation is instantly persisted to the local database, reflected in UI components across React, Vue, Svelte, and synchronized with the network across devices and user accounts.</p>

Additional information

Live Stream https://live.fosdem.org/watch/k3201
Type devroom
Language English

More sessions

2/1/26
Local-First, sync engines, CRDTs
K.3.201
<p>Welcome to the "Local First, sync engines and CRDTs devroom", first edition this year at FOSDEM'26. We are excited to propose you a full day of amazing talks ranging from CRDT libraries and frameworks, to local first projects using them, and including academic research, UX design, sync protocols and engines.</p> <p>We believe Local First software is the future of app development. But what is Local First software? In this short introduction we will touch upon the general concepts and describe ...
2/1/26
Local-First, sync engines, CRDTs
Giordano Ricci
K.3.201
<p>CRDTs are an exciting primitive for distributed state. In local-first apps, synced CRDTs can be framed as a natural extension to reactive local state, allowing developers to build eventually consistent multi-device and multi-user apps, with business logic living completely on the client, only requiring generic syncing infrastructure.</p> <p>A key feature that traditional backends solve remains a challenge, though: how do permissions work in this world? In addition to being a ...
2/1/26
Local-First, sync engines, CRDTs
Bartosz Sypytkowski
K.3.201
<p>Yjs is one of the oldest and most widely used libraries that enhance web editors by allowing multiple users collaborate over documents in real time, also without requiring continuous network connection. Evernote and Jupyter Notebooks are among many of its prominent users.</p> <p>During this presentation we'll address some of the common pitfalls that new developers may encounter when working with Yjs library, what architectural foundations are causing them to happen and what can we do to ...
2/1/26
Local-First, sync engines, CRDTs
M Palanikannan
K.3.201
<p><a href="https://github.com/makeplane/plane">Plane</a> is an open source project management tool used by thousands of teams. A year ago, we shipped Wiki — a collaborative documentation system built on Yjs with real-time editing, offline support, and version history.</p> <p>Yjs is remarkable. Kevin Jahns and the community have built something incredible — real-time sync, conflict resolution, offline editing, all handled elegantly. But integrating a powerful library is just the start. This ...
2/1/26
Local-First, sync engines, CRDTs
K.3.201
<p>Automerge is a mature library for building local first applications by enabling version control for structured data. The strategy is to capture all edits to data at a very fine grain (e.g. per keystroke when editing text) and then present a good API for managing concurrently edited versions of this data. </p> <p>The version control approach to collaboration makes working concurrently feasible and makes servers fungible - it increases user autonomy, but it introduces problems as you can't rely ...
2/1/26
Local-First, sync engines, CRDTs
Kevin De Porre
K.3.201
<p>Building fast, resilient, and collaborative applications increasingly demands more than reactive UI frameworks and client-side state management. The next generation brings reactivity to the data layer itself—letting applications stay in sync with the backend automatically through a sync-engine architecture.</p> <p>This talk explores how <a href="https://tanstack.com/db">TanStack DB</a> provides a practical path toward such architectures without requiring a rewrite or commitment to a ...
2/1/26
Local-First, sync engines, CRDTs
K.3.201
<p>Yjs is a widely used library to build collaborative applications. BlockNote and Prosemirror are text editors that closely integrate with Yjs.</p> <p>In this talk, we'll preview upcoming functionality for Attributed Version History (who wrote what, and when?) and Track Changes (suggestions). We'll explore major new functionality coming in Yjs 14 (changesets and attributions), y-prosemirror and BlockNote that will make this possible.</p> <p>The BlockNote team (Nick, Yousef and Matthew) has ...