MIDOSIS.APK · AI-powered medication management

PROJECT 07 / 11 · Mobile · AI

MiDosis.

An Android app to keep a treatment on track: register a medication in seconds, get reminders that ring even with the phone locked, check off today’s doses and ask an AI assistant about side effects or interactions. Built for a project by two nursing students at the IMSS school.

  • APK v1.0.0
  • Android
  • 2026
APK v1.0.0 EXPO SDK 54 · SUPABASE · OPENROUTER

01 / IMAGE_VIEWER.EXE

Evidence gallery.

Real screenshots, one per step of each flow. Use the arrows or the thumbnails, and enlarge any image to see it whole.

02 / STACK.INI

Tech stack.

What each piece does in this project. Hover over a tool, tap it or tab into the list to light it up.

  • React Native 0.81Native Android interface
  • Expo SDK 54Router, notifications, camera and EAS builds
  • TypeScriptTyped models and hooks
  • SupabaseEmail sign-in and the cloud database
  • PostgreSQLMedications, dose log and profiles with RLS
  • OpenRouterAI chat through the openrouter/free router
  • expo-notificationsDaily local reminders
  • react-native-calendarsMonthly view of treatments

03 / README.TXT

About the project.

README.TXT

Problem

Taking medication on time is harder than it sounds: several drugs, different schedules, treatments that end on a given day and questions that come up at 11 p.m. Missed or doubled doses hurt treatment adherence — the problem the nursing students behind this project wanted to tackle.

Solution

A phone app that does the remembering: it turns a frequency (every 8, 12 or 24 h) into a schedule, fires a reminder at each time and shows today’s doses with a progress bar. For doubts, an assistant answers in Spanish with the user’s current medications as context — and always reminds them to check with their doctor.

Key features

  1. Smart medication entryAutocomplete over 143 common medications in Mexico and Latin America, six presentation types and dose options that adapt to each one.
  2. Frequency in one tapEvery 8, 12 or 24 hours generates the schedule automatically; manual times use a clock-style picker.
  3. Reminders on a locked phoneDaily local notifications on a top-priority Android channel, scheduled as soon as the medication is saved.
  4. Today’s dosesHome lists every dose due today with a progress bar; marking one as taken is stored in the dose log.
  5. Treatment calendarA monthly view marks the days each medication is due, from its start date to the end of the treatment (days, weeks or ongoing).
  6. AI health assistantSuggested questions, answers in Spanish with the user’s medications as context, and offline answers for common questions when the AI can’t be reached.
  7. A photo for each medicationFrom the camera or the gallery, shown on the home screen to recognize the box at a glance.
  8. Profile and statsActive medications, doses per day, a test-notification button and sign-out.

MiDosis is a support and reminder tool: it doesn’t replace the advice or diagnosis of a health professional.

Ready UTF-8 · LF · 34 L

04 / ARCHITECTURE.SYS

How it works.

Components and data flow, taken from the source code.

ARCHITECTURE.SYS

SUPABASE

  • AuthEmail + password · session kept in AsyncStorage
  • Postgres + RLSprofiles · medications · medication_logs

ANDROID APP

  • MiDosisExpo SDK 54 · Expo Router
  • Local remindersexpo-notifications
  • Offline answersFallback for common questions

AI

  • OpenRouteropenrouter/free
  • Free modelPicked by the router (e.g. Gemma, Llama)
Architecture diagram — The app talks to Supabase for accounts and data, schedules reminders on the phone itself and asks OpenRouter for the AI answers.

Data flow, step by step

  1. Signing up creates the account in Supabase Auth; a database trigger creates the matching profile row.
  2. Each new medication is saved to Postgres, where row-level security lets every user read and write only their own rows.
  3. At the same time, the app schedules one daily local notification per dose time — reminders don’t need a server.
  4. Home builds today’s list from the medications and the dose log; “taken” inserts or updates a row in medication_logs.
  5. The chat sends the question and the current medication list to OpenRouter; if three attempts fail, the app answers from its offline set.

Engineering notes

  • Reminders without a backendDaily expo-notifications triggers on a max-importance Android channel: they fire offline and with the screen locked.
  • Resilient AI callsA 12-second timeout, three attempts with growing pauses (1.5 s, then 3 s) and keyword-based offline answers as a last resort.
  • A careful, context-aware promptThe system prompt adds the user’s medications, keeps answers to about 150 words and always says it doesn’t replace a doctor.
  • Free model routingThe openrouter/free router picks an available free model, so the assistant costs nothing per question.

05 / PROPERTIES.CPL

Project properties.

PROPERTIES.CPL · MiDosis

Platform
Android (APK built with EAS) · Expo SDK 54
Type
Health app — medication reminders with AI
Status
Completed — version 1.0.0
Year
2026
My role
Full-stack development
Built for
Two nursing students — IMSS school
Package
com.midosis.app

06 / LINKS.LNK