Inspiration
On average, people use 5 or more prescription drugs, everyday. Keeping track of all those prescriptions is a hassle. Because of this, we have developed Pillminder as a solution to this problem.
What it does
When a user logs into their Pillminder account, they can upload an image or take a photo of their medication prescription, giving it a title and choosing how they want to receive their notification.
How we built it
We used JavaScript, React, and Ant Design for the front end, and Firebase and Node.js for the backend. When a user signs up, their credentials are stored into Firebase Authentication and Firebase Cloud Firestore. Adding a new reminder stores the image into Firebase Cloud Storage, with the URL, the title, and the notification setting being saved into Firestore. We utilized the Google Cloud Vision API to extract text from images, with our own functions to process the text into readable messages, and the Twilio API to send the message to the user's phone number.
Challenges we ran into
The biggest challenge we faced was setting up the Google Cloud Vision API and getting it to work with the images we stored in Firebase Storage. After hours of debugging, we got it to work successfully. We also had a challenge getting the SMS service to work, but we were able to get a minimally working version complete.
Accomplishments that we're proud of
- Successfully setting up Google Cloud Vision API
- Reading text from prescription bottles
- The ability for users to receive notifications via text, phone call, or email
What we learned
We learned how to use the Google Cloud Vision API to work with images sent in by a user. We also found out how to successfully receive SMS notifications and store the images in the Firebase Storage.
What's next for Pillminder
- Add additional features such as pairing it with smart home devices (Alexa, Google Home) and send notifications for missed dosages
- Create publicity for Pillminder by uploading it to various app stores (Google Play, App Store, Amazon Appstore)
Log in or sign up for Devpost to join the conversation.