|
|
|
|
|
by dools
2 hours ago
|
|
Yeah it was a deceptively complicated issue. I’m not sure if my implementation is as comprehensive, but it sounds similar: optimistic local writes, outbound queue, server as source of truth, each client has local SQLite. The issue I found most difficult architecturally was how to deal with staying responsive on first sign in with a large DB. I ended up with a system I called “materialisation on demand” where it will search the server and download only those rows ahead of time. EDIT: I also ended up using multiple local databases to ensure responsive writes during heavy synching activity. The app is https://www.benko.app/ it’s available on iOS, android, Mac and windows. |
|