Inspiration

Medication adherence is a real daily problem. People miss doses, forget timing, or get confused about what to do after a missed dose. We wanted to build something practical, calm, and trustworthy: an app that helps users stay on schedule, flags basic safety concerns, and gives clear next steps without pretending to replace clinicians.

What it does

MedTrack is a local-first medication companion built with Expo + React Native. It includes:

->Onboarding with safety disclaimers and permissions flow ->Medication CRUD with schedule options and warning tags ->Local notification engine for dose reminders and snooze actions ->Due-dose modal for Taken / Snooze / Skip actions ->Dose event history with filtering and status chips ->Safety check and missed-dose guidance screens ->Emergency card with one-tap share text ->Demo mode for hackathon storytelling ->Adherence stats (streak + 7-day adherence trend)

How we built it

We structured the app into reusable layers:

UI routes/components using Expo Router (/app, /components) Storage layer using SQLite (/lib/db) with migrations and typed queries Notification engine (/lib/notifications) for scheduling, resyncing, and resolving dose events Feature services (/lib/app) for adherence, settings, emergency info, demo data, and scan parsing Theme system (/theme) for consistent spacing, color tokens, and dark/light support Everything runs locally on device; no backend is required.

Challenges we ran into

  1. Notification reliability across app state changes We needed reminders to behave consistently after app restarts and schedule edits. We solved this by adding schedule resync logic and notification-link tracking.

  2. Keeping data and UI in sync Dose events, schedules, and reminders are tightly connected. We added clear DAO boundaries and refresh hooks to reduce state drift.

  3. Fast UX iteration under hackathon time pressure We had to ship features and polish simultaneously. We created shared themed components and reused them across screens to move quickly without visual inconsistency.

  4. Balancing safety language with usability We wanted clear guidance without making medical claims. We added explicit disclaimers (“not medical advice”, “not exhaustive”) and framed suggestions as general support.

    Accomplishments that we're proud of

We’re proud that MedTrack delivers a complete local-first medication workflow end-to-end without requiring a backend. We implemented a robust SQLite foundation with typed models, CRUD operations, and migrations, then built a reliable local notification engine with schedule resync and snooze support so reminders stay consistent. On top of that, we connected dose events to a clear Taken/Snooze/Skip action loop, added practical adherence insights like streaks and 7-day adherence trends, and shipped high-impact safety surfaces including Safety Check, Missed Dose Guidance, and Emergency Card sharing. For demo readiness, we added one-tap storytelling mode so judges can immediately see the product value, and we polished the interface into a cohesive modern experience using reusable themed components. Throughout, we kept wording medically responsible with explicit “not medical advice” and “not exhaustive” disclaimers.

What we learned

->Local-first architecture can still feel production-grade if schema + migrations + typed queries are done early. ->A reusable theme/design system saves huge time during late-stage polish. ->Notification UX is less about one API call and more about full lifecycle handling (schedule changes, snooze state, due-state reconciliation). ->For health-adjacent products, wording and trust cues are as important as features.

What's next for MedTrack

Next for MedTrack, we want to expand the interaction-checking logic with broader, clinically reviewed rule coverage and improve barcode workflows to prefill medication data more accurately. We also plan to deepen personalization with per-medication guidance templates and smarter adherence insights, then add caregiver-oriented capabilities like shared reminders and escalation options. Longer term, we’d like to introduce secure optional sync for multi-device continuity, richer export/report formats for care teams, and continued accessibility and localization improvements so MedTrack can support more users in real-world care settings.

Built With

Share this project:

Updates