Inspiration
While researching the available topics that we could work on for this hackathon, we came across a study that stated that more than 500 million dollars worth of food was wasted by Canadians due food products reaching their expiry date in 2022. As these numbers were shocking to us, it motivated us to focus on targeting the UN's 12th Sustainable Development Goal- Responsible Consumption and Production. We wanted to truly produce an application that would have an impact and decided to start with helping users consume their food items more sustainably by providing to the users an application that will keep a record of the food items they currently have with the expiry date of that food item.
What it does
Pantry Sidekick loads items from your pantry to the app based on image recognition and also keeps a track of the expiry date of the said item that is being loaded. Helping users identify which items in their pantry are expiring in an efficient manner.
How we built it
We built this app using several technologies:
Image recognition - We trained the yoloV8 model using a custom dataset to make the scanner for image detection.
Backend - We used python with the Flask framework for the server and sqlite for the database.
Frontend - We used HTML, CSS, JavaScript along with Bootstrap 4 to develop the user interface. We further used Adobe Fresco to develop our app's logo along Adobe firefly to generate background images to best fit our app's theme.
Challenges we ran into
We faced several challenges while making this project. Our initial challenge was to find a dataset that we could train our Yolo v8 model on. To tackle this issue we researched about many datasets and came to the conclusion that we will have to make our own dataset for achieving the best accuracy. Our next challenge was building our own said dataset, with the added challenge of it being large enough to train our model on. To address this we used Roboflow to create our own dataset from scratch using 300+ photos of a variety of different food products and went through several iterations of training our model. Finally, we faced issues when it came to integrating our dataset and connecting the client side and the server side of our project. To move through this we implemented strict version control in order to minimise the number of merge conflicts so that our team can focus on integrating our dataset and the development of the app.
Accomplishments that we're proud of
We are proud of having been able to successfully create a fully functional app that functions on self-made datasets and produces accurate image detection along with a system that calculates the days left for a product to expire. We feel proud that we have built an app that directly relates to inspiring customers to adapt to sustainable consumption practices.
What we learned
We learned the importance of each ingredient present across pantries across the world. We learned that food, which is the root for sustenance for life, can be so overlooked on the day to day basis, to the extent of it being wasted in huge quantities.
What's next for PantrySideKick
We plan on integrating a notification system for our app, so that users can choose to be notified when their items are close to expiring. We plan on doing this using Twilio API. We further plan to give the users an option to find recipes based on the ingredients that they have present in their pantry order by the level of difficulty of the recipe(easy to make, hard to make). Expanding more on the previous point, we aim to give the users recipes based on the location that they are in, which will help the user connect more with their culture and help us spread to more locations.
Log in or sign up for Devpost to join the conversation.