Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

CRDTs and HLCs often feel like over-engineering. In most business/management apps, it’s rare for two people to edit the same piece of data at the exact same time.

A simpler approach works surprisingly well:

Store atomic mutations locally (Redux-like) in SQLite.

Sync those mutations to a central server that merges with last-writer-wins.

Handle the few conflicts that do occur through clear ownership rules and some UI/UX design.

This makes local-first behave more like Git: clients work offline, push their “commits,” and the server decides the truth. Most of the complexity disappears if the data model is designed with collaboration and ownership in mind.



Agreed @ overengineering for most use cases.

Still, where a simpler approach gets tricky is if you only want to sync a subset of the backend database to any client's SQLite




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: