A pharmacy made for seniors — re-imagined as a standalone mobile app.
MedBox sorts a month's worth of prescriptions by dose and delivers them, free, to a senior's door. The web dashboard worked, but most of our patients live on their phones — checking shipments, taking pills, paying copays, and texting their kids from the same small screen. We translated the full pharmacy experience into a native iOS and Android app so refills, shipment tracking, dose reminders, and billing all live in one tappable place.
01 — Context
From web dashboard to a phone you keep on the nightstand.
MedBox already had a web-based portal where patients and caregivers could log in to check shipments, billing, and prescription details. It worked — but it sat behind a browser bookmark, a password, and a desktop that most of our patients didn't open on a daily basis.
Our patients are seniors managing multiple medications, often alongside a caregiver. The phone is the device that's always within reach. The brief was clear: bring the entire pharmacy experience to mobile, without losing the warm, plainspoken voice that makes MedBox feel different from a traditional pharmacy.
I joined a small design pod — a design lead and two UI designers — to define the system, ship the screens, and hand off a design library the engineering team could rebuild against in SwiftUI and Compose.
NORTH STAR: Open the app. See what's coming, what's due, what to take next. Nothing else competes for attention.
02 — Home, Shipping & Billing
One thumb. Five tabs. Everything else earns its place.
The app's spine is a five-tab bar: Home, Shipping, MedBox, Billing, Account. Every tab answers a question a patient or caregiver actually asks out loud — "what's coming?", "what's in my box?", "what do I owe?", "where's it being shipped?".
Home is the dashboard: today's dose, next shipment status, and any unread messages from the pharmacist. Shipping shows the upcoming and past deliveries with a familiar three-step tracker (Preparing → On the way → Delivered). Billing keeps the amount due and payment method one tap apart.
Each card uses the same anatomy — a moss header strip, a white body, and one primary action — so the language of the app stays consistent as patients move from screen to screen.
Three core tabs — MedBox (left), Shipping (center), Billing (right) — share one card pattern, one tab bar, one voice.
03 — Dose Reminders
The most important screen is the lock screen.
A pharmacy app that you have to remember to open isn't doing its job. The dose reminder had to land on the lock screen — friendly, by name, with the exact label printed on the tear-off packet so a patient could match the notification to the physical packet without thinking.
Tapping through opens a single-purpose modal: a photo of the labeled packet, the time and date, the medication list, and one big Taken button. Skip is available, but understated — the design rewards the action we want most.
Adherence isn't a feature you can ship in a chart. It's a feature you ship in micro-decisions: the size of the button, the warmth of the greeting, the exact words on the notification.
Lock screen notification (left) mirrors the in-app reminder (right). The label format on screen matches the printed packet 1:1.
04 — Add Medication
Typing a prescription on a phone is cruel. So we listen instead.
Typing "Levothyroxine 75 MCG" on a 2-inch keyboard with arthritic hands is an interaction we should not be asking patients to do. Voice-first felt obvious — but only if the fallback was just as clean.
The flow: a single tappable mic. Speak the medication. The system parses, confirms ("Atenolol 25 mg"), then walks you through prescriber → pharmacy → save. Each step has one decision and one primary button. Save & Continue is the only forward action; everything else is plain text.
The same voice pattern is reused for shipping addresses — speak the address, confirm the parsed result, save. One mental model, two touchpoints, half the typing.
Five-screen flow: voice capture for address → voice capture for medication → select prescriber → select pharmacy → land in the active prescriptions list with a "Recently Added" tag.
Principle 01
One decision per screen.
Each step asks for exactly one thing. No sidebars, no upsells, no secondary CTAs competing for the user's attention.
Principle 02
Voice as a first-class input.
The mic isn't tucked in a corner — it's the primary interaction. Typing is the fallback, not the default.
Principle 03
Confirm before committing.
Every voice capture echoes the parsed result back as a quoted speech bubble. Mistakes are caught before the form is saved.
05 — Insurance & Billing
The hardest part of pharmacy is the paperwork.
MedBox is free for patients, but copays and insurance still need to live somewhere. The challenge: insurance UIs are notoriously ugly, and credit card forms are notoriously stressful. We had to make both feel safe.
We led with reassurance. The HIPAA compliance notice isn't a footnote — it's a card on the page, with a Learn More link. The Add Payment Method screen opens with an SSL-encrypted & HIPAA-Compliant lockup above the form. The padlock is small, but it's the first thing the eye lands on.
Insurance IDs and card numbers are masked by default ("******2020") on every list view — a small detail that matters when a patient hands their phone to a caregiver, a family member, or a pharmacist on a video call.
Three states of the same job: managing insurance (left), seeing what's owed (center), and securely adding a card (right).
06 — Shipping Address
The map is the receipt. You can see your medication moving.
Our patients travel. They visit kids, snowbird to Arizona, spend a month with a sibling in another state. Shipping isn't a one-time setup — it's a recurring decision, and the app needs to make changing it feel low-stakes.
The address flow uses iOS's native autocomplete with the same voice mic from Add Medication. Once saved, a confirmation modal makes the consequence explicit — "This change will only apply to future shipments. Any orders in transit will be shipped to the previous address." No buried fine print, no surprises.
Once a shipment is in the system, the tracking screen pulls a live map with the estimated arrival, a three-step progress bar, and the current location. Patients see the box moving toward them — the same mental model as a food delivery, applied to a refill.
Four-screen flow: address search → details & naming → confirmation modal → live tracking with map.
07 — Reflection
What designing for seniors taught me about everyone else.
MedBox App is the first product I've worked on where the "edge case" — a 78-year-old caregiver managing nine medications for a spouse with cataracts — is the median user. Designing for that user changed how I think about every other product I touch.
01
Big text isn't a concession. It's a feature.
Every "make this smaller" instinct I had during reviews was wrong. The 16pt body minimum we set early on became the version of the design my own (younger) eyes preferred too. Generous sizing isn't a senior-only courtesy — it's a kindness everyone benefits from.
02
Voice is an accessibility feature pretending to be a power feature.
We added voice input thinking of arthritis and tremors. It turns out the developers tested it on their commutes and the PMs used it to dictate addresses while cooking. Designing for the hardest case made the easy case better, every time.
03
Calm is a competitive advantage in healthcare.
Most healthcare apps shout — red badges, urgent banners, sterile blue-on-white. MedBox's warm cream and moss green felt risky early on ("does it feel medical enough?"). The patient feedback was the opposite: it feels like something they'd want on their counter, not in a drawer.
04
The packaging is part of the UI.
The single best decision we made was matching the on-screen reminder format to the printed packet label exactly — same time, same date format, same medication order. The screen and the box are one interface. That insight came from a usability session, not a brief.
05
A design system you can hand off is the real deliverable.
The screens are the most photogenic part of this project, but the work that mattered most was the tokens, the components, and the documentation that let our iOS and Android engineers rebuild this in their native frameworks without coming back with a hundred questions. Pretty mockups age fast — a clean library compounds.