Inspiration
Our inspiration comes from our personal experiences and the people around us who struggle with taking medication regularly and mindfully, not because they don’t care, but because life gets busy. We wanted to build a system that supports independence while still allowing community and care when it matters most.
Fun fact: Our product name, pillgrimage, is a play on words. It reflects the idea that health, medication, self-compassion, and independence are all part of an ongoing journey or "pilgrimage" (with one 'l' ). It also nods to one of our features: using photos as a form of self-accountability along the way.
We kept a persona in mind, mirroring our inspiration for it. Please see more information on our Google Docs! We brainstormed really hard for it! link
What pillgrimage does
pillgrimage was built for moments when reminders aren’t enough. Instead of passive alerts that are easy to dismiss, pillgrimage asks users to actively check in by confirming each dose with a photo of their medication, turning a routine task into a conscious action that builds consistency. If a dose goes unchecked for too long, a trusted caretaker is notified, offering gentle accountability without pressure. pillgrimage supports daily prescriptions, PRNs, and supplements, and visualizes adherence over time so users can see their progress.
"A daily journey toward better health pillgrimage helps users stay present, supported, and on track, one check-in at a time."
Download the apk to test out our Android app! link
How we built it
We used our skills of organization and trello and documentation to carry us through tough developer environment setups, reading documentation, and watching tutorials, and asking help from mentors, especially during our exhausting battle with dev environment set up.
From a tech stack pov:
- Designed a Cloud Firestore database schema with user-based collections to securely store medications, schedules, and dose history
- Structured data so each user’s medications and logs are isolated by user ID, ensuring privacy and scalability
- Connected the Flutter app to Firestore using Firebase SDKs, enabling real-time reads and writes
- Used Firestore’s real-time listeners to instantly update the UI when medications are added, updated, or marked as taken
- Logged each dose event with timestamps to create an accurate dose history
- Integrated SendGrid (Twilio) to send automated email alerts to caretakers when a scheduled dose is missed
- Deployed emails using an MLH.tech domain and custom HTML templates designed by the team
As we all came from different experiences, from multiple years of developing skills to writing in HTML for the very first time. It was truly an amazing experience having the girlies team up and create something we care about!
Challenges we ran into
Our group, "Code-Blooded Baddies," came together by coincidence and powered through the project, fueled by shared enthusiasm and five rolls of metaphoric duct tape. As a new team, setting up the development environment, including Android Studio and the emulator, took longer than expected. Most of us were also new to Flutter, so learning the language and figuring out how to build a working app in a short timeframe was challenging. We wanted to add OCR features too, but with no prior experience, getting even the basics to work required lots of trial and error. The debugging process during our long, sleep-deprived night tested both our patience and persistence.
Accomplishments that we're proud of
- Building a working medication check-in flow within a short time frame, from concept to functional prototype
- Designing accountability without shame or micromanagement, prioritizing user dignity and autonomy
- Creating a mobile Android app from scratch, none of our team members had prior Android development experience
- Grounding our product in real user needs and aiming to make a meaningful difference for people who struggle with medication adherence
- Reframing medication not as a burden, but as a daily journey toward better health
What we learned
- Overcoming significant setup, dependency, and build issues through rapid troubleshooting and collective problem-solving
- Learning and implementing new tools and frameworks under tight time constraints
- Collaborating effectively as a team, balancing design, development, and ideation while supporting one another
- Meeting and collaborating with brand new people that we don't necessarily know. It challenged our adaptation skills, as well as our compromising skills
- Honestly, there was so much that we learned in such a short time that while writing this with 0 hours of sleep and multiple sugar highs and caffeine crashes, we don't know what else to type out...
What's next for pillgrimage
We had so much we wanted to do with pillgrimage, but we knew from the start that it was more realistic to have an MVP by the end. Some of the things we dreamed about were:
- Add visual graphs and analytics to showcase medication adherence and consistency over time on the history page
- Improve object recognition accuracy by training and refining computer vision models, so that the user HAS to take a photo of their specific medication to log it in
- Implement computer vision support for weekly pill organizers and birth control packaging
- Set up in-app messaging and push notifications for alarms, reminders, and alerts
- Enable automatic reminder creation by recognizing medication labels through photo recognition
- Reduce manual input by extracting dosage and schedule details directly from pill bottle labels

Log in or sign up for Devpost to join the conversation.