Hacker News new | ask | show | jobs
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.