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