Video summary

Your web app but good: Aaron Boodman (Local-First Conf)

Main summary

Key takeaways

Technology

Summary

Aaron Boodman argues that sync engines can make web apps more responsive and simpler to build, but they have not become widespread because apps often cannot sync all their data—and choosing what to sync is difficult.

Benefits of sync

  • Interfaces respond immediately to user actions.
  • Updates appear reactively for other users.
  • Developers can avoid much of the data-fetching and state-management complexity of API-based apps.

The scaling problem

Syncing everything can be impractical. Vercel’s PR-commenting feature worked well enough that some PRs accumulated thousands of comments, affecting page loads. When the feature was expanded to public Next.js documentation, its original data-partitioning approach no longer fit the larger audience and longer-lived content.

Why partial sync is hard

A GitHub issues page may need filters and search across an entire repository. The Kubernetes repository discussed has roughly 45,000 issues, totaling about 200 MB. Syncing all of that is excessive for a casual visitor, but syncing only a subset can make filters and search across the full dataset incomplete.

Boodman frames sync as a caching problem: more data carries a cost, and not all data is equally valuable.

Proposed approach: Zero

Rocicorp is developing Zero, a query-driven system intended to manage what data is available locally.

  • Developers express the data their UI needs using SQL queries, including joins, aggregates, and subqueries, rather than manually defining sync partitions.
  • Zero runs queries against a local cache first and requests additional results from the server asynchronously. Boodman describes this as hybrid search.
  • The goal is for about 99% of interactions to be immediate, while the remaining cases retrieve results from the server. This allows the system to work with datasets larger than what is practical to store on a device.
  • Because it is reactive, Zero also updates the UI when data changes. Boodman says this can simplify app structure: components query and render data, handle events, and write changes back to the data model.

Demo and development plans

Boodman demonstrates an issue-tracking app containing a one-gigabyte dataset: more than 200,000 issues and two million comments. The client has only about 25 MB locally. Sorting and common queries appear immediate; less common searches show a loading indicator while server results arrive. He also demonstrates fast initial loading and describes how the same query model could support server-side rendering.

At the time of the talk, Rocicorp said Zero was under development, with an open project planned and a beta targeted for the end of the year. The company also planned to open-source and continue supporting Replicache and Reflect.

Reviews, guides, or tutorials

None. The talk includes a product demonstration rather than a review or step-by-step tutorial.

Main speaker and source

Aaron Boodman, CEO of Rocicorp, presenting at Local-First Conf.

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video