The browser used to be a view over a remote database. Increasingly, it owns a useful replica. That shift makes products feel immediate, survive unreliable connections, and preserve a user’s flow.

Sync is product behavior

Conflict handling cannot be hidden inside an infrastructure library. A note, a payment, and a multiplayer move each need different rules. The interface must communicate which state is local, synced, or disputed.

A smaller backend, not no backend

Local-first architecture moves coordination to the edge while the server remains the authority for permissions, durable history, and collaboration. The payoff is a cleaner separation between interaction speed and global truth.