Mobile
DoseTime - Medication Reminder App
A medication reminder that turns a prescription sentence into a concrete list of dose times, and then holds itself accountable for each one.

The problem
A doctor prescribes in words: this pill, every eight hours, for seven days. A phone can only remind you if that sentence becomes a specific list of timestamps. And a reminder that fires is not enough on its own, because what matters clinically is whether the dose was actually taken. Both of those have to keep working offline, since someone should not need a connection to know when their next dose is due.
Approach
- A scheduling module expands the prescription into concrete dose times: the frequency is normalized to hours (whether entered in hours, days or weeks), then multiplied out across the treatment duration to produce every timestamp in advance.
- Each generated time becomes a dose log row with an explicit status of pending, taken or skipped, so the app records what actually happened rather than only what was planned.
- Notification identifiers are stored alongside their dose logs, which is what allows a medication to be edited or cancelled without leaving orphaned reminders firing on the phone.
- All data lives in on-device SQLite, so the schedule, the history and the adherence view work with no network and no account.
- Four screens keep the flow tight: today's doses, the medication list, adding a medication, and history with adherence tracking.
- AdMob is integrated as the monetization path, and the Play Store assets are prepared for submission.
What it proves
- 43 automated tests covering the scheduling maths, the database layer and the dose flows.
- Works fully offline: local SQLite, no account, no backend.
- Cancelling or editing a medication cleans up its pending notifications instead of leaving them behind.
- Built with Expo and React Navigation, with AdMob wired in and store assets ready.
React NativeExpo SDK 52TypeScriptSQLiteZustandexpo-notificationsReact NavigationEAS Build