AI-powered medication reminder and management assistant for Android.
RxAide helps users scan prescriptions, extract medicine details with AI, auto-generate schedules,
send reminders, and track adherence through a modern, conversational interface.
- Latest APK (GitHub Releases): https://github.com/Aminul-Islam7/rxaide-cse299/releases/latest
- Project Group: Group 2
- Course: CSE299 (Section 4)
- Semester: Spring 2026 (North South University)
- Faculty Advisor: Dr. Mohammad Shifat-E-Rabbi (MSRb)
| Name | NSU ID | |
|---|---|---|
| Aminul Islam | 2321169042 | aminul.islam.232@northsouth.edu |
| Md Shahriar Rakib Rabbi | 2321937642 | shahriar.rabbi.232@northsouth.edu |
| Tirtho Mojumdar | 2312536042 | tirtho.mojumdar.2312536@northsouth.edu |
- Project Overview
- Implemented Features
- Architecture
- Technology Stack
- Project Structure
- Setup and Running
- Usage Flow
- Screenshots
- Documentation
- Current Limitations
- Disclaimer
Medication non-adherence is a major healthcare problem, especially for users managing multiple medicines. RxAide addresses this by combining the full workflow in one app:
- Capture prescription image
- Extract medicine details with Gemini AI
- Confirm and auto-create schedules
- Send reliable reminders using WorkManager
- Track taken/missed doses in adherence dashboards
The app is built as a native Android project using Kotlin, Jetpack Compose, Room, and WorkManager, with Gemini integration for OCR + conversational medication support.
- Prescription image capture (camera or gallery)
- Gemini-powered extraction of:
- Medicine name
- Dosage and unit
- Form and frequency
- Meal relation, duration, notes
- Conversational corrections before final confirmation
- Quick action flow: Confirm & Schedule and My Medications
- Markdown-rendered bot responses
- Add medication manually with rich form fields
- Edit medication and schedule details
- Delete medication with confirmation
- Optional fields support (dosage/form/instructions/notes)
- Custom notification sound selection per medication
- Automatic schedule creation after prescription confirmation
- Manual schedule time selection (multiple times per day)
- Reminder notifications with in-notification actions:
- Taken
- Missed
- Re-scheduling after device reboot
- Dose backfill worker to create missing history records
- Overall adherence statistics (taken, missed, unmarked)
- Per-medication adherence cards
- History timeline with status badges
- Period filters:
- All Time
- This Month
- This Week
- Today
- Modern Compose UI with custom theme
- Bottom navigation with badge counts
- Directional screen transitions and pull-to-refresh sync
- Dark mode toggle in settings
RxAide follows MVVM with a clean separation of concerns.
- Jetpack Compose screens for Home, Camera, Chat, Medications, Notifications, Tracker, and Settings
- Navigation Compose-based route graph
MedicationViewModelfor medication/schedule operationsChatViewModelfor chat state, AI flow, and action parsingAdherenceViewModelfor adherence aggregation and filters
- Room database with entities:
MedicationScheduleDoseHistoryChatMessage
- Repository layer:
MedicationRepositoryChatRepository
- WorkManager + Receivers for reminders and action handling
| Area | Technology |
|---|---|
| Platform | Android |
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 |
| Architecture | MVVM |
| Local Storage | Room |
| AI | Google Gemini API (gemini-2.5-flash) |
| Background Jobs | WorkManager |
| Camera | CameraX |
| Navigation | Navigation Compose |
| Image Loading | Coil |
| Build System | Gradle (KTS) |
app/src/main/java/com/example/rxaide/
ai/ # Gemini integration
data/
dao/ # Room DAOs
entity/ # Room entities
repository/ # Data repositories
navigation/ # App routes and nav graph
notification/ # Workers, scheduler, receivers
ui/
screens/ # Compose screens
theme/ # Colors, typography, theme
viewmodel/ # MVVM ViewModels
MainActivity.kt
RxAideApplication.kt
- Android Studio (latest stable recommended)
- Android SDK installed
- Device/Emulator running Android 8.0+ (API 26+)
git clone https://github.com/Aminul-Islam7/rxaide-cse299.git
cd rxaide-cse299Create or edit local.properties in the project root:
GEMINI_API_KEY=your_actual_api_key_hereImportant:
- Do not hardcode or publish real API keys.
- Keep
local.propertiesout of version control.
./gradlew assembleDebug
./gradlew installDebugOn Windows PowerShell:
.\gradlew.bat assembleDebug
.\gradlew.bat installDebug- Open RxAide and go to Scan Prescription.
- Capture or upload a prescription image.
- Review AI-extracted medication details in chat.
- Tap Confirm & Schedule to create reminders.
- Monitor upcoming doses from Alerts/Notifications.
- Track adherence trends in Tracker.
- Edit medications/schedules anytime from My Medications.
UI screenshots for each feature flow will be added here to visually demonstrate the app's functionality and design.
Current branding assets:
| App Icon | Logo |
|---|---|
![]() |
- AI features require internet connectivity.
- Room currently uses destructive migration fallback during schema changes.
- This is an academic project and still under active refinement.
RxAide provides reminder and organizational support only. It does not provide medical diagnosis or prescribe treatment. Always consult a licensed healthcare professional for medical decisions.
