
Bringing Voice and Community to Medication Tracking
With a focus on accessibility, I conducted user research, synthesized findings into empathy maps, POVs, HMWs, and built the end-to-end mobile experience, from wireframe sketches to a functional prototype in React Native and Next.js (co-built).
try out on expo go →
check out my final report →

MY ROLE
Product Designer
Mobile/Web Developer (shared)
TEAM MEMBERS
1 Mobile/Web Developer (shared)
TOOLS USED
Figma
React Native
Next.js
TIMELINE
10 weeks
PROBLEM STATEMENT
The WHO estimates that only about half of people with chronic conditions in developed countries take their medication as prescribed (WHO, 2003). Many of the tools built to help fail exactly when people are tired, stressed, or have limited vision or dexterity.
FINAL DESIGN SOLUTION
Solution opportunity
I designed Pill Pal, a voice-enabled medication tracking companion that allows sharing text or voice reminders with your friends, family, caregivers for proactive social support and medication accountability.
I collaborated in building a working React Native prototype for Pill Pal, and it won Best Social Impact and Best Poster out of 20+ teams at the Fall '25 CS147 Project Expo.
After the class, I built the voice logging.
Onboarding experience
One major concern from user testing was privacy. Participants noted that users with stigmatized health conditions—such as depression or mental health medications—might feel uncomfortable sharing their medication status even with trusted caregivers in their Care Circle.
This is very important issue to address in the Pill Pal app. It ties back to its brand identity of inclusivity and accessibility.
I addressed this by adding sharing preferences during onboarding and allow users to control exactly what medication data is visible. This improves both privacy and accessibility for those hesitant to share sensitive health information.

Log dosage manually or
via voice
Users have two ways to log a dose: by voice for hands-free entry, or manually by confirming the dose and adjusting the quantity.
I designed voice logging to reduce cognitive load when users are physically or mentally fatigued, so they can log without breaking their routine.
In the class version, voice logging was simulated (Wizard of Oz). After the class, I built it out so what you say turns into a dose you can confirm. See Beyond the Class below.

Extended social support system
Users can invite friends, family, or caregivers to form a personal Care Circle. Once invited—and based on each user's sharing preferences—they can view each other's dosage schedules and send reminders via text or voice.
Beyond personal networks, users can join Community Circles—similar to Reddit groups—where they can connect with others managing the same condition and engage with supportive content.
I designed these features to reinforce that medication adherence should not be an isolated experience and make users to feel community support by building a reliable support system around adherence.

AFTER THE EXPO: BUILDING REAL VOICE LOGGING
Every state the voice flow can land in
After the expo, I rebuilt voice logging so what you say becomes a dose you can confirm.
The design work was in the moments when the system is unsure. It confirms before saving, flags duplicates instead of blocking them, and pre-selects likely doses for vague requests like "my morning pills."

happy path; CONFIRMS what it heard and waits for you

already logged; tells YOU when you took it and Still lets you log

vague requests come pre-checked with likely doses

NOT ON YOUR LIST; won't guess meds you don't take

DIDN't catch that; one tap to try again or log manually
Three decisions
Always confirm before saving
Saving automatically with an undo would be faster, but logging the wrong medication is worse than one extra tap.Flag duplicates, don't block them
My interviews showed the biggest anxiety is "did I already take this?" So the app tells you exactly when you logged it. Some people really do take a second dose, so it still lets you log anyway.Pre-select, don't interrogate
When you say "my morning pills," the app checks the likely doses and leaves ones you already logged unchecked. Fixing a checkbox is easier than answering follow-up questions.
Designing for when AI is unsure
Logging a dose by voice, catching a duplicate, and handling a vague request. Transcription is simulated in the prototype.

How it works
The voice flow sends what you said, your medication list, and today's logs to one interpreter, which returns a suggestion: confirm, ask which ones, or say it didn't understand. Right now the interpreter is rule-based and transcription is simulated. It's built so an LLM can replace it without changing any screens.
WHITE PAPER RESEARCH
Accountability: a hypothesis, not a fact
Early on I read a frequently cited ASTD figure: people are far likelier to reach a goal when they report to a specific partner. I couldn’t trace it to a primary study, so I treated it as a hypothesis.

COMPETITIVE ANALYSIS
The competition had little to NO shared accountability aspect
Since this space of medication adherence and tracking are saturated, I wanted to explore what was currently successful and could be improved.

Across many user reviews, a common theme emerged: people often stop using these apps because they don’t feel enough accountability or motivation to stay consistent with their medication routines.
NEEDFINDING + USER INTERVIEW
Talking to patients
I conducted user research interviews with people managing medications to identify when routines break down and what creates real-time confusion or uncertainty.

medications ranging from time-critical prescription drugs to non-critical vitamins and supplements
Here's what I learned:
Patients forming the habit struggle to maintain consistency due to disrupted or unpredictable moments in daily life (unexpected meetings, travel, changes in schedule).
When it comes to patients with established routines, the challenge shifts from remembering to take medication to remembering whether they already took it, leading to anxiety about double-dosing or missed doses.
Physical exhaustion makes medication management feel like a personal burden, particularly for non-time-critical medications with no immediate consequences for delays.
Empathy map + KEY INSIGHTS AND NEEDS FOR EVERY PARTICIPANT
FRAMING THE PROBLEM
Defining primary users
To look deeper into the insights, I defined three primary user and created POV statements to frame their key needs.
And this revealed that the core issue wasn’t just remembering medications, but the uncertainty of whether doses were taken and the sense of isolation of managing them alone.
THREE PRIMARY USERS DEFINED IN POV STATEMENTS
Crafting HMW questions
I then brainstormed 10+ “How Might We” questions per user to explore potential solutions.
I narrowed 10+ HMW questions into three design priorities that addressed the most critical user needs and guided the rest of the design process.

Brainstorming solutions
I brainstormed 10+ solutions per HMW and selected the top three to develop into experience prototypes:
- a game-like interface to boost motivation
- voice-based conversational interactions for humanlike support
- caregiver-recorded voice clips and texts for extended connection
Through user testing of each prototype, I decided on core features:
An eye-catching streak display to reinforce progress and build momentum.
Address the "did I take this already" problem with log/history feature for completed doses
Quick voice interactions within their care network without requiring visual attention or disrupting workflow.
brainstormed solutions for each three HMWs

thinking outside the box for solution ideas
WIREFRAMING + USER TESTING
Iterating prototypes
I sketched out the three core user flows:
- logging medication
- sending text/voice reminders to someone in Care Circle
- joining a Community Circle
I also explored supporting screens like the notification center and calendar view. From there, I built out medium-fidelity prototypes in Figma to test the interactions.

low fidelity wireframing sketches

paper prototype and lightweight usability testing
MAIN CHANGES + MED-FI
Main feedbacks
Users wanted...
Clearer primary action on home screen
Confirmation feedback screens
Distinct visual cues for completed vs. upcoming dosage

Keeping this in mind, I translated the three tasks into interactive flows while improving based on the previous user testings.

medium fidelity in Figma
DESIGN SYSTEM & STYLE GUIDE
Defining visual direction
I was gravitating towards incorporating swirling line elements to represent connection and community, which I wanted to reference the shared accountability aspect of the product.

building the moodboard
Building complete visual system
I overall considered the color psychology and I found that green symbolizes the color of growth and health. Hence that became my primary color.

Component system for consistency and efficiency
For the actual app interface, I looked at my competitors to see how they formatted their UI.
Taking all these into perspective I created a bunch of different sketches and this component system to stay consistent within my own app design.

HI-FI MOCKUP
Interactive prototype
I designed 40+ screens across logging, Care Circle, and Community flows, built on a component system that met WCAG contrast and touch-target standards.

Check out my figma prototype →
USABILITY TESTING
Usability testing
I defined usability goals before conducting testing with 12 participants:
- can users log medications without errors?
- does voice interaction feel natural for reminders?
- can they intuitively navigate community features?
- does the design foster encouragement after task completion?
I included ethical considerations specific to health technology to Nielsen's Heuristics to improve accessibility in addition to evaluating visual and functional inconsistencies.

heuristic evaluation of 40+ design features using spreadsheet-based analysis
Main design + functional improvements
Based on user testing, I made these design changes below:

improved the visibility of system status

ensured the interface met WCAG color contrast + touch target sizing standards

sharing preferences for who might feel uncertain sharing medication data

refining home screen visual hierarchy
DEVELOPMENT & LAUNCH
wizard of oz prototyping
I implemented a Wizard of Oz approach for the streak tracker to test whether visual progress motivates users. In the class version, the progress element appeared live but didn't actually store or track data. It now tracks real logs.
front-end implementation
A software engineer teammate and I built the class prototype in React Native and Next.js. My teammate built most of the front end, and I built a smaller share. After the expo, I built the voice logging on my own.
Application Framework: React Native
Navigation: React Navigation
View github repo →
marketing deliverables
In addition to the working prototype in Expo Go, we built a promotional website using HTML/CSS, created pitch slide deck and script, and produced a concept video.
Check out pill pal's website →

CONSTRAINTS AND LIMITATIONS
Backend implementation
Due to time and resource constraints, we focused on front-end development and used Wizard of Oz techniques to simulate data-driven features like streak tracking.
After the class, I added real dose logging stored on the phone, so progress and streaks now update. There's still no live backend: the app runs in a demo mode with sample medications, and voice transcription is simulated.
Tight schedule to ship fast
My teammate and I had 10 weeks to research, design, and build a functional prototype, which required prioritizing main features and rapid iteration.
LEARNINGS AND FUTURE THINKING
Consider complex medication schedules
The next step is to accommodate varying medication scenarios including critical vs. non-critical timing, temporary prescriptions, and shared caregiving contexts.
Conduct long-term user testing
I'd conduct extended usability studies specifically testing how reminder frequency, tone, and modality (visual vs. audio) affect sustained engagement.
Integrate AI to accelerate process
I'd bring AI into the build from day one. For Postcards I used Claude Code with a design-system file that every prompt read first, and that's the workflow I'd use to rebuild Pill Pal's voice flow.

Picture from Stanford CS147 Project ExpO

POSTER DESIGNED BY ME THAT WON THE BEST POSTER AWARD!














