Inspiration
Recently, aspartame, a sweetener used as a substitute for sugar in foods, was deemed as "possibly carcinogenic to humans". We did not know about this until a few days ago when a friend made a comment about the gum one of us was chewing. Because new research on chemicals commonly found in foods is often silently announced unless there are major health implications we decided to try make this information more accessible to consumers. Although aspartame is still FDA approved, it is still important to keep up to date with findings like these and recognize what ingredients in our foods can have health consequences when we consume them.
What it does
By scanning a barcode of a food item, we are able to determine if the item has a "dangerous" ingredient and it will alert the user of what it is and what kind of risk it poses.
How we built it
We developed the frontend of our application using React Native, leveraging the Expo framework for testing and deployment. This combination allowed us to efficiently create a user-friendly interface and ensure compatibility across devices.
For the backend, we employed Spring Boot to handle incoming requests. When a barcode is scanned in the app, the server queries the Open Food Facts database to retrieve and deliver detailed product information to the frontend.
Challenges we ran into
- Setting up a database with PostgreSQL for foods/ingredients/dangers/etc. CSV files provided by the internet proved to be challenging to clean and use, so we opted for using an API call instead
- Scanning in text instead of barcodes
- State management on the mobile app
- Error handling for products that does not exist within the database
Accomplishments that we're proud of
- A working phone app that can scan barcodes from products and display results accurately.
What we learned
- Lots of new frameworks and new technologies that was used to build the project (Springboot, PostgreSQL, etc.)
- The importance of breaks
- Harmful effects of lack of sleep
What's next for Ingredient Alert
- A login interface for the user with their own persistant "history"
- Better looking UI
- Larger databases for harmful ingredients + effects
- Better error handling
Log in or sign up for Devpost to join the conversation.