A simple, private, mobile-first daily medicine reminder and tracking app.
MediTracker helps users remember when to take their medicines and track each dose as Taken, Skipped, or Missed, with complete history and simple adherence statistics.
Important: MediTracker is a reminder and tracking tool only. It does not provide medical advice, diagnosis, or treatment recommendations.
- 🔒 Private & Local — No account, backend, or internet connection required after the initial page load.
- 📱 Mobile-First — Designed for comfortable everyday use on mobile devices.
- 🏠 Home Dashboard — Today's progress, medication schedule, next reminder, and quick dose actions.
- 💊 My Medicines — Search, filter, view, edit, pause/resume, and delete medicines.
- ➕ Add/Edit Medicine — Dosage, frequency, reminder times, dates, meal instructions, notes, and reminder settings.
- 📊 History & Statistics — Track doses across Today, Yesterday, Last 7 Days, Last 30 Days, or custom periods.
- 📈 Adherence Statistics — View adherence percentage and a 7-day activity chart.
- ⚙️ Settings — Notification, snooze, sound, vibration, theme, export, history, and medicine-management options.
- 🔔 Reminders — In-app alerts and system notifications when permission is available.
- ⏰ Dose Tracking — Record doses as Taken, Skipped, or Missed.
- 🌙 Light/Dark/System Theme — Minimal interface with accessible touch targets.
- 📤 Data Export — Export locally stored data as JSON.
While MediTracker is open, its scheduler can trigger in-app reminders and system notifications when notification permission is granted.
Reminder actions include:
- Taken
- Skip
- Snooze for 10, 30, or 60 minutes
Unrecorded doses that pass their scheduled time are automatically marked as Missed.
Because MediTracker runs as a web application, browsers cannot reliably wake the application to deliver notifications after the app has been completely closed. This limitation is clearly communicated within the application.
MediTracker is designed around local-first data storage.
- No user account is required.
- No backend database is required.
- Medicine information is stored locally on the device.
- Dose history is stored locally.
- Settings are stored locally.
- Data remains available after medicine edits or deletion through the preserved dose history.
- Users can export their local data as JSON.
- Vite
- React 19
- TypeScript
- React Router v7
- Tailwind CSS v4
- shadcn/ui
- Lucide Icons
- Framer Motion
- Sonner
- Bun
- localStorage
src/
├── lib/
│ ├── medicines.ts # Domain types, date/time helpers,
│ │ # dose generation and synchronization
│ ├── store.ts # Local persistence and application state
│ └── reminders.ts # Reminder events, sound and notifications
│
├── components/
│ ├── AppShell.tsx # Main application layout
│ ├── ReminderProvider.tsx # Reminder scheduler and reminder panel
│ └── status.tsx # Status badges and progress components
│
├── pages/
│ ├── Landing.tsx # Landing page
│ ├── Onboarding.tsx # First-run onboarding
│ └── app/ # Main application screens
│ ├── Home
│ ├── Medicines
│ ├── Medicine Form
│ ├── Medicine Detail
│ ├── History
│ └── Settings
│
└── main.tsx # Router, theme and toaster setup
All application data is stored locally.
Stores:
- Name
- Dosage
- Unit
- Frequency
- Reminder times
- Selected weekdays
- Start/end dates
- Meal instructions
- Notes
- Reminder status
- Pause status
- Creation information
Stores each scheduled occurrence with:
- Medicine name/dosage snapshot
- Scheduled time
- Status
- Action timestamp
Dose history is preserved even when medicines are edited or deleted.
Stores:
- Onboarding status
- Notification settings
- Default snooze duration
- Sound and vibration preferences
- Theme preference
Schedules are generated for a rolling time window and reconciled when the application loads.
git clone https://github.com/advith-crypto/meditracker.git
cd meditracker
bun installbun run devbun tsc -b --noEmitAdd Medicine
↓
Set Schedule & Reminders
↓
Receive Reminder
↓
Taken / Skipped / Snoozed
↓
Dose History
↓
Adherence Statistics
Potential future improvements include:
- More advanced reminder scheduling
- Improved notification support
- Additional data visualization
- Enhanced export/import workflows
- Progressive Web App capabilities
MediTracker is intended only for medication reminders and tracking.
It does not provide medical advice, diagnosis, treatment recommendations, or dosage recommendations.
Always follow the instructions provided by your doctor or pharmacist.
THOTA ADVITH
GitHub: https://github.com/advith-crypto
MediTracker — Simple reminders. Clear tracking. Private by design.