Open most apps without a signal and they'll just sit there. You can usually look at whatever loaded before, but writing something down needs a round trip to somewhere else first.
Buhata writes to your device. Sync catches up later, on its own, once there's a connection worth using.
Why that matters
Think about when you actually reach for the app. Standing in a parking garage under a store. On a plane. In the back of a building with thick walls and one bar of signal. Or your phone's out of data until Friday and you're not paying for more.
Those are the moments. An app that stalls right then teaches you it can't be relied on, and you stop reaching for it.
What it cost to build
Reading from local state instead of waiting on a request changes every screen in the app. Tedious, but not hard.
The hard part is that two devices can both be right about different things at the same time. Your phone knows about the groceries. The laptop knows the electric bill got paid. Neither one is wrong, and neither should lose. Most of the work went there.
- Your entries sit on your own device and stay readable with or without a connection
- Signing in matches that work to your account instead of replacing it
- When two devices disagree, the account wins, and nothing gets quietly destroyed
A sync product that can lose a month of somebody's entries has failed at the only job that mattered.
Where this bites later
Anything I add has to work the same way, which rules out a few things I'd otherwise like to build. A feature that only works online will let somebody down on a train eventually, and I'd rather not be the one who shipped it.
