This is a good post but it misses
@ElectricSQL which we use and is remarkably attractive for a few reasons:
Bring your own Postgres and schema. No opinions about schema definition or orm - we use drizzle with it
Do mutations however you want, use your own API; clients update optimistically
No lock-in. UI speaks tanstack DB which lets you use any sync system or api you want, and the backend doesn’t know it exists
Self-hostable; it’s just a single container. Or use their cloud.
Team is fantastic and super responsive, bugs get patched very quickly
Sync engines are the new state management. If you haven't looked at Zero, Replicache, LiveStore, or Convex yet, you're about to.
The pitch: "real-time everywhere" without WebSocket boilerplate. Reactive DB queries that just update the UI when the underlying data changes. Optimistic writes with conflict resolution baked in.
Zero (Rocicorp) — SQL-shaped apps with 100k+ rows per user. Linear-style. Replaces TanStack Query + manual invalidation.
Replicache — mutation-heavy apps with conflict resolution. Notion-style. Client mutations first, server reconciles.
LiveStore — local-first + offline mandatory. SQLite in the browser. Note-taking, PWAs, anything you might use on a plane.
Convex — greenfield where you own the whole stack. Reactive DB + backend in one product.
The watch-out: schema lock-in, vendor-owned runtimes, and a push-model muscle your team hasn't built. Adopt one small feature to a sync engine first before betting the whole app.
In 2024 this pitch felt too good. In 2026 it's finally credible. Worth an afternoon of your time this quarter.