Oshudh Khaisen
Oshudh Khaisen, meaning “Have You Taken Your Medicine?” in Bengali, is a cross-platform mobile application developed with Flutter to help people—particularly elderly users and patients managing long-term medication routines in Bangladesh—stay consistent with their medication schedules. The app provides reliable, alarm-style medication reminders that work even when the app is closed, helping users avoid missed doses. It also tracks remaining medicine stock and offers a simple, accessible interface in both **Bengali and English**, making everyday medication management easier for a wider range of users.
Oshudh Khaisen is a fully offline, privacy-focused medication management app for Android and iOS. It helps users organise their medicines, maintain consistent medication routines, track remaining stock, and monitor their daily adherence—all from one simple interface.
Key Features
- Flexible Medication Management: Add medicines with their dosage, form (tablet, capsule, syrup, injection, drops, or inhaler), and meal instructions, such as before or after meals.
- Customisable Schedules: Set reminders for one, two, or three times daily, weekly, monthly, selected days, or as-needed medication.
- Reliable Alarm Reminders: Receive full-screen, alarm-style reminders with sound and vibration, even when the app is closed or the phone is locked. Users can mark each dose as taken or skipped directly from the alarm screen.
- Automatic Stock Tracking: Medicine inventory updates automatically whenever a dose is marked as taken. Low-stock alerts help users remember to refill before running out.
- Medication History: Review previous doses and monitor medication adherence through a weekly history view.
- Daily Progress Dashboard: Track completed doses with a live daily progress indicator on the home screen.
- Bengali and English Support: Switch instantly between two languages through a fully localised interface, making the app accessible to a wider range of users in Bangladesh.
- Complete Offline Privacy: All medicine details, schedules, dose history, and stock information remain stored locally on the device. No personal medication data is uploaded to an external server.
The result is a practical medication companion that combines dependable reminders, inventory management, and adherence tracking while keeping sensitive health information entirely on the user's device.
The challenge
The biggest challenge was making medication reminders behave like reliable alarms rather than ordinary notifications across Android devices with different operating systems, manufacturer customisations, and background-processing restrictions.
For a medication reminder app, reliability is essential. A missed alert could mean a missed dose, so the application needed to handle several technical challenges:
- Reliable Background Reminders: Android can terminate background processes to conserve battery, particularly on heavily customised devices. Reminders needed to remain dependable after the app was closed or terminated, survive device restarts, and correctly open the relevant alarm screen when a notification was tapped—even from a cold start.
- Manufacturer-Specific Audio Behaviour: Some Vivo, Oppo, and Realme devices handled notification audio differently from standard Android devices. Alarm sounds could play through the regular notification volume instead of the alarm volume. This required addressing Android notification channel behaviour and manufacturer-specific limitations.
- Multiple Simultaneous Doses: When several medicines were scheduled for the same time, the app needed to combine them into one clear, organised alert rather than overwhelm users with separate notifications.
- Accurate Schedule Calculation: Calculating the next reminder required handling daily, selected-weekday, and monthly schedules correctly, including edge cases such as a dose scheduled for the 31st when the following month has only 30 days.
- Consistent Bilingual Experience: The entire application needed to support Bengali and English without hardcoded text, duplicated screen implementations, or inconsistent translations.
The goal was to deliver a dependable medication reminder experience that works consistently across devices, handles complex schedules accurately, and remains simple for users of different ages and language preferences.
The approach
I built a reliable, fully offline medication reminder system using Flutter, with particular attention to Android alarm behaviour, scheduling accuracy, and data consistency.
Key Implementations
- Persistent, Timezone-Aware Alarms: Implemented exact, timezone-aware scheduling using Flutter Local Notifications. Instead of maintaining separate reminders for every medicine, the app identifies unique alarm time slots and registers operating-system-level reminders. The complete schedule is recalculated whenever a medicine is added, edited, or removed, keeping all reminders synchronised.
- Fixed Manufacturer-Specific Alarm Issues: Configured Android notification channels with dedicated alarm audio attributes, full-screen intents, and maximum notification importance. This addressed the underlying audio-routing issue on affected Vivo, Oppo, and Realme devices, ensuring alarms use the appropriate alarm volume stream.
- Combined Medication Alerts: Medicines scheduled for the same time are grouped into a single notification with dynamically generated details. The dedicated Alarm screen displays all medicines due at that moment, avoiding unnecessary notification clutter.
- Reliable Cold-Start Navigation: Implemented notification-payload handling for situations where the app is completely terminated. Pending alarm information is preserved and processed after the navigation system is ready, ensuring users reach the correct Alarm screen when opening an alert.
- Accurate Recurring Schedules: Developed dedicated date-calculation logic for weekly and monthly reminders, including month-end edge cases. Additional timezone fallback handling helps maintain scheduling behaviour when native timezone information is unavailable.
- Unified Offline Data Management: Designed a central local database structure using Hive to manage medicine details, dosages, schedules, stock levels, refill thresholds, meal instructions, and completed-dose history. Inventory updates, medication history, and adherence statistics are derived from this single source of truth without requiring a backend server.
- Instant Bengali and English Switching: Centralised application text through a locale-aware translation system and integrated it with Provider-based state management. Users can change languages directly from Settings without restarting the application.
The outcome
Oshudh Khaisen was successfully developed and delivered as a production-ready mobile application for Android and iOS, providing a practical and privacy-focused solution for everyday medication management.
- Production-Ready Application: Delivered a complete cross-platform application with medication management, scheduled reminders, inventory tracking, and adherence monitoring.
- 100% Offline Privacy: Published a privacy policy confirming that all personal information, medicine records, schedules, and health-related data remain on the user's device. No user data is transmitted to an external server.
- Dependable Medication Reminders: Built an alarm-style reminder system designed to work even when the app is terminated or the phone is locked, with additional handling for manufacturer-specific Android restrictions.
- Simplified Daily Medication Tracking: Provided a clear overview of daily completed doses, upcoming reminders, medication history, and remaining medicine stock.
- Bengali Language Accessibility: Delivered a fully localised Bengali and English experience, making medication management more accessible to Bengali-speaking users in Bangladesh.
- Designed for Long-Term Medication Routines: Created a practical solution for people managing multiple medicines or ongoing treatment schedules, helping them stay organised and reduce the likelihood of missed doses.
Overall Impact
Oshudh Khaisen transforms medication reminders into a complete, offline medication management experience. By combining reliable alarms, automatic stock tracking, adherence monitoring, and Bengali language support, it makes managing daily medication routines simpler while keeping sensitive personal information private.
- TypeClient project
- PlatformAndroid
More like this
Client
iOS
Fantasy Kingdom — amusement park ticketing app
The first amusement-park app built for iOS in Bangladesh, alongside its Android counterpart.
Client
Android
Fantasy Kingdom — amusement park ticketing app
The first amusement-park app built for iOS in Bangladesh, alongside its Android counterpart.
Client
Android
Evaly — online marketplace app
Android shopping app for one of Bangladesh's most popular online marketplaces.