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