Many university students don’t have enough time to properly buy groceries, especially during study terms. This can lead to students buying a lot of easily prepared processed foods. However, many of such foods contain complex chemical compounds that many people won’t recognize. Thus, this app was made with the goal to assist students’ grocery shopping by providing quick and easy access to the definition of chemical compounds on ingredients lists. Students will be able to shop smarter (and hopefully healthier), even during the stress of study terms.
What it does
Our app “What’s in My Food?” facilitates searching for the definition and health risks of chemical compounds on a food product’s ingredients list. Using OCR technology, users can take a picture of the ingredients label and select it for analysis. Our app then consults our Dropbase database and produces the description, uses, and potential allergen and health risks for each compound. We also provide a “quick search” feature to find descriptions of a single ingredients..
How we built it
Our app uses text detection from Google’s ML-kit Vision API for Android to OCR the label. After parsing the ingredients using regex, ingredients are compared to the database in order to retrieve their descriptions. A table is then dynamically populated with the results and displayed. For our quick search feature, we used Dropbase’s extensive API technology combined with FooDB’s extensive database to search for a compound’s description. Using Chaquopy, we implemented a Python module to access Dropbase’s search feature, whereupon the compound’s description is returned.
Challenges we ran into
- We had to learn Java and Android development on the fly, since we didn’t have much experience in either subject.
- Implementing Dropbase’s API into Android was extremely challenging; we didn’t understand how Android ends HTTP requests.
- We figured out Dropbase’s API in Python, which presented a challenge to implement into Java.
- We tried forever to implement a camera feature so the user can take a photo in the app, but to no avail.
- The quick search only works for correct capitalization and spelling
Accomplishments that we're proud of
- The quick search function works successfully!
- This is the first hackathon for some of us, and we’re proud that we finished our idea.
- This is also the first ever app that some of us have made, which is pretty cool.
What we learned
- We learned the basics of Java and Android studio within a day
- How to call Python files from Java using Chaquopy
- How to use Dropbase’s API!
- Implementing a mobile OCR API in Android
We want to expand our database to encompass much more chemicals. We would like to update our UI to something more elegant, which would improve users’ experiences with our app. Also, it would be great if the quick search feature didn't require proper capitalization and spelling. Lastly, we really really want to get the camera feature working!