Spokes.wiki Search About
Podcast Episode source ↗ source url updated Wed Jul 29 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

Rethinking Data: from the three-tier web stack to client-side event sourcing (InfoQ)

InfoQ podcast, published 2026-07-27: Olimpiu Pop interviews johannes-schickling (founder of Prisma; creator of livestore and the Overtone music app) on moving application data off the server and into the client. The spoke’s first source arguing that the OLTP database should live in the user’s browser, with the server demoted to a sync log.

The argument

The traditional three-tier stack — centralized database, API tier, thin client — puts a network round trip between the user and their own data, which is why web apps feel worse than desktop apps. The local-first answer is to give the client a real database (SQLite), serve every read and write from it locally, and sync in the background. Interactions become instantaneous and the app keeps working offline or on a bad connection.

Schickling’s framing: “data is the bottleneck” for user experience, not the view framework. The industry spent a decade on rendering (React and successors) while the data path stayed a remote call.

The technical core

  • event-sourcing as the sync mechanism. livestore syncs an immutable event log and materializes a local SQLite database from it, rather than syncing rows or a mutable document.
  • The alternative is CRDTs (Automerge, Yjs, Loro): mutable abstractions that auto-merge concurrent edits. Schickling’s claim is that event sourcing wins where an app has evolving schemas and external data integration (his case: music metadata from several providers), while CRDTs are simpler for collaborative conflict resolution.
  • Sync engines are now a category. ElectricSQL, PowerSync and Zero stream query-scoped data to a smart client cache — the query-sync approach, distinct from LiveStore’s event-log approach.
  • Data modelling moves up front. A monolithic schema has to be broken into smaller units that can be synced and owned independently. Schickling calls the local-first decision “probably the most fundamental decision” about an application.

Where it does not apply

He is explicit that local-first is not universal. It is the wrong choice for systems that need global consistency over responsiveness (his example: financial systems), for social networks where the data boundary per user is unclear, and for anything where UX is not the dominant concern. The architecture buys responsiveness and data ownership, and pays in modelling complexity.

Data ownership

Users should be able to take their data out as either the event log or the materialized SQLite file, which makes leaving a service possible without loss. He credits GDPR’s export requirement with accidentally improving interoperability. The Local-First Conference (Berlin, mid-July 2026, with Martin Kleppmann and Adam Wiggins) is the community anchor.

Tier

T2 — an independent editorial podcast (InfoQ), but the guest is the maintainer of one of the frameworks under discussion, so the event-sourcing-beats-CRDTs claim is an interested one. No benchmarks or measured comparisons anywhere in the episode; all architecture argument.

local-first-architecture · event-sourcing · livestore · johannes-schickling · operational-databases · turso · online-transaction-processing