Thirty days. That was the timeline I gave myself when I finally stopped fighting cloud-sync bloat and built something meant to just stay on the device. No health data leaving your phone. No background sync running every time you switch apps. No quiet pipeline somewhere tracking whether you opened the app on a Tuesday.
Just TallyMed, sitting on your device, doing its one job and nothing else.
If you're coming from the usual health-tracking ecosystem, the kind that pings you at 8pm because you haven't logged your water like an overly invested digital parent, the first week feels strange. Quiet. No feed to scroll. No leaderboard trying to guilt you into a morning walk. Nobody asking you to connect an account so a relative can see your numbers.
Day one was mostly setup. Add the medications, set the dosage, set the schedule. No email field. No "create a password" screen. Therefore the first thing I actually noticed wasn't a feature, it was the absence of one: there was nothing to skip. Most health apps open with three screens of permission requests and account prompts before you can log a single dose. TallyMed opened straight to the log.
By day three, the habit had already changed shape. I stopped thinking of logging as a task with stakes. On other apps I've used, there was always a background hum of "this is going somewhere" — a dashboard, an aggregate score, something a company was quietly building a profile from. Here, typing in a dose felt closer to writing on a sticky note than filing a report.
Day ten is when the quiet stopped registering as absence and started registering as the actual point. I'd caught myself, twice that week, hesitating before logging something sensitive in an old app — not because the app did anything wrong, but because I genuinely didn't know where that entry ended up. With TallyMed there was nothing to hesitate over. The data had exactly one destination: the phone in my hand.
What logging actually looked like day to day
The mechanics stayed boring on purpose, which is the whole design bet. Open the app, pick the medication, confirm the dose, close it. No badge to earn. No "3-day streak!" banner. On a morning where I forgot until noon, there was no shame animation waiting for me — just a normal log entry with a normal timestamp, because the app has no opinion about when you remember, only a record of what actually happened.
That distinction mattered more than I expected going in. A dose log isn't supposed to be a performance review. It's supposed to be accurate. TallyMed's dosage history just sits there as a plain, chronological record: what was taken, when, and any note attached to it. Nothing scored, nothing ranked, nothing compared against "other users like you," because there's no server tallying other users to compare you against in the first place.
The week the old habits tried to come back
Around day fifteen I hit the point every local-first tool eventually hits: I wanted to check my log from my laptop, out of habit, the way you'd glance at a shared calendar. TallyMed doesn't do that, and for a second that felt like a gap. Then I remembered why: the same architecture that keeps a health record from ever touching a server is the reason there's no laptop dashboard to check. You can't have both. I picked the phone back up and logged it from there, which took four seconds longer than the fantasy of checking it from a browser tab, and that was the whole cost.
That's worth being honest about upfront: TallyMed doesn't sync across your devices, because syncing means data has to travel somewhere in between, and "somewhere in between" is exactly what this app was built to not have. If you restore your phone from a standard backup, the local data comes back with the rest of your device, the same way your photos or notes would. But there's no separate TallyMed account recovering it for you, because there's no TallyMed account.
Why "local-first" isn't just marketing language here
It's easy for "your data stays on your device" to become a phrase a privacy policy uses without meaning much in practice. So it's worth being specific about what that promise is actually built on, instead of asking you to take it on faith.
TallyMed stores its data using AES-256 encryption on the device itself. That's not a cloud-security feature dressed up to sound local — it's encryption applied to the data sitting in your phone's storage, so that even the file itself isn't sitting there in plain text. The one exception, and it's a narrow one, is purchase restoration: when you reinstall the app or move to a new device and need to restore that you already paid for it, that check runs through Apple's or Google's own purchase system (StoreKit or Google Play Billing), because that's the mechanism app stores require for verifying a purchase. Your medications, your doses, your history — none of that touches that exchange. It's a token confirming you bought something, not a copy of what you logged.
That's also why there's no web dashboard, no companion app for your laptop, and no "login with your email" screen anywhere in TallyMed. Each of those conveniences requires a server somewhere holding your data so it can hand it back to you from a different device. Building any of them would mean building the exact thing the app exists to avoid. The tradeoff is real: you lose the convenience of checking your log from a browser tab. What you get in exchange is a genuinely simple answer to "where does this data live," which is: right here, on this phone, nowhere else.
What actually shifted over the month
Logging stopped carrying any friction. When you know an entry isn't quietly training a model or feeding an ad network somewhere, typing something sensitive into the app stops feeling like a transaction. It's just a record. Open it, type what you need, close it.
The data is actually yours again, in the way that matters. Losing signal doesn't lock you out of your own history. Offline-first isn't a spec sheet line. It's the difference between a record you own and one you're borrowing space for.
I also noticed something I hadn't expected going in: I logged more consistently, not less, once the notifications stopped feeling like surveillance. TallyMed still reminds you on the schedule you set, but a reminder from an app that isn't also reporting your open rate to someone reads differently. It's just a nudge, not a nudge with a business model attached.