Your web app but good: Aaron Boodman (Local-First Conf)
Why Hacker News recommends it
Cited in sync-engine threads as the origin story for Zero and for hybrid local and remote queries.
What it is
Aaron Boodman of Replicache asks why sync engines have not yet fixed web app complexity and what is missing for them to go mainstream. The talk lays out the ideas that led to the Zero sync engine.
Recommended by 1 HN commenters across 1 different months, 2024 to 2025.
What Hacker News said
Strong rec trosterud · 2024-12 · on “Day Zero – Build Good Web Apps with the Zero Sync Engine”
Nice! Congratz It's insanely fast. And wholeheartedly recommend this wonderful talk about the thoughts that led to this: [this video]
Cites aboodman · 2024-10 · on “Show HN: One – A new React framework unifying web, native and local-first”
Hi Joseph, There is a lot of debate about this in the community. People like pvh, adam wiggins, and johannes have all said they consider Replicache and Zero part of the local-first movement [1] and that they would be sad if we and other things like us weren't in it. I was even invited to speak at local-first conf, where we announced Zero last May. [2] I think in practice delivering on the local-first ideals is ultimately up to the app developer not the library. Like in practice every yjs app talks to its server over some bespoke protocol and is loaded over a URL. If that server goes away your yjs app is a brick. No less a brick than if your zero server goes away. Similarly although everyone
Cites aboodman · 2025-03 · on “Sync Engines Are the Future”
Zero (zerosync.dev) uses transactional conflict resolution, which is what our prior product Replicache and Reflect both used. It is very similar to what multiplayer games have done for decades. It is described here: [LINK] It works really well and we and our customers have found it to be quite general. It allows you to run an arbitrary transaction on the sever side to decide what to do in case of conflicts. It is the software equivalent of git asking the user what to do. Zero asks your code what to do. But it asks it in the form of the question "please run the function named x with these inputs on the current backend db state". Which is a much more ergonomic way to ask it than "please do a 3
Cites ochiba · 2025-03 · on “Sync Engines Are the Future”
I think that is where sync engines come in that allow doing arbitrary hybrid queries (across local and remote data) and then keeping the results of those hybrid queries in sync on the client. This is one of the ideas that appears to be central to the genesis of Zero [1] ElectricSQL allows for a similar pattern and PowerSync is also working on this [2] [1] [this video] [2] [LINK]