Inspiration
As two very scatterbrained human beings, we often forget to take any routine medication that we are prescribed - sometimes, those are important antibiotics that are just not as effective if only taken sparingly. Other times, supplements lie on the counter, forgotten as we rush to work or class - medpic is here to help those who are sometimes just as absentminded as we are by sending helpful reminders.
What it does
Medpic extracts information about the user's prescription from a simple picture of the prescription bottle (taken in-app). It collects information including the number of doses that should be taken per day, the number of pills in the bottle, and the number of refills that are available. The text recognition algorithm is very versatile and can handle many different text formats on the bottle. After giving the user the chance to enter a name for the medication, the app sends push notifications to remind the user to both take their medication and get a refill when necessary.
How we built it
We decided to build the app using Flutter for Android. Despite never having used it before, we were attracted to the cross-platform nature of the SDK and the potential for more beautiful UIs than the default Android SDK. We used Google Cloud Vision for retrieving text from the images of the prescription bottles.
Challenges we ran into
Scheduling and sending the notifications at the correct time was by far our most significant challenge. It required trying three separate methods before finding one that actually worked and did not require extensive use of new tools on top of the ones that were already foreign to us. Additionally, no one on our team had used OneSignal (used for notifications), Dart, or Flutter. These technologies were involved in the vast majority of the project, which required additional research. However, we learned quickly - although we spent the majority of Saturday afternoon simply figuring out how to run an app with Flutter, we picked up its functionality fairly quickly and were able to build an app using a new SDK and language.
Accomplishments that we're proud of
The text parsing engine is extremely versatile - it can handle errors received from Google Cloud and allow for error in the optical character recognition, but also strict enough that it doesn't report incorrect data. In addition, it can read numbers in text format, such as "once a day."
What we learned
Both of us learned a considerable amount about much of the technology we used, as it was brand new - we especially enjoyed figuring out how Dart and Flutter could be used to weave beautiful user interfaces.
What's next for medpic
We hope to implement a more robust notification system in order to make the medicine-scheduling process more streamlined. In addition, we would like to integrate location data so that the app can give notifications when the user is actually at home and available to take the medications.
Built With
- android
- android-studio
- dart
- flutter
- google-cloud
- onesignal
Log in or sign up for Devpost to join the conversation.