MediTime
Cross platform mobile application - Flutter + Dart
Created on 26th September 2026
•
MediTime
Cross platform mobile application - Flutter + Dart
The problem MediTime solves
Missing medication doses is a common problem, especially for elderly users or people managing multiple prescriptions. Most reminder apps are either too complicated or don't reliably fire notifications on time. MediTime solves this with a simple, secure medicine tracker — users can add their medicines, set daily schedules, and get exact, repeating local notifications so they never miss a dose. A PIN-lock feature also keeps the app private and secure for personal health information.
Challenges I ran into
One of the trickiest bugs I faced was with the notification system.
I was using flutter_local_notifications to send daily medicine reminders, but the notifications kept behaving inconsistently — sometimes firing late, sometimes not at all. After digging in, I found a bug in how I was tracking notification IDs: I was using .hashCode to generate unique IDs for each medicine reminder, but it wasn't matching up correctly with values I was comparing using int.tryParse(). Switching to a consistent integer-based ID system fixed the mismatch.
Other hurdles along the way:
ADB version conflicts — My Android debugging setup had version mismatches that blocked builds. Fixed by aligning my ADB and platform-tools versions properly.
Desugaring configuration — Had to configure Java 8+ desugaring in the Android build files to support certain notification APIs on older Android versions.
Exact repeating alarms — Getting reminders to fire exactly on time, every day, required switching to exactAllowWhileIdle scheduling instead of regular inexact alarms, since Android aggressively delays background tasks to save battery.
Each of these taught me a lot about how deep Android's background processing rules go — something that doesn't show up until you actually try to build something reliable like a medicine reminder.
