Best Before was born from our own experiences with food going off before we had a chance to use it. What if there was a way for us to keep track of food at home that is about to expire, and on top of that, find recipes that will use these foods? From this idea, Best Before was born.
What it does
Best Before allows you to input food and other perishable items into our online database and keep track of how long until they expire. When food nears its expiry date you will get a text from Twilio reminding you that you need to use it. When you log onto Best Before you can also use the find-a-recipe function, which scans over our database of over 3400 recipes to find the top ten recipes that will use as much of the food about to expire as possible.
How we built it
We started out by creating a front end interface using Tkinter which allows users to input information and access all the features of our app. The Python requests library was used to create a web scraper to collect all BBC Good Foods recipes into a database. We used Twilio to automate SMS reminders of expiry dates, and Opencv and Pyzbar to create our barcode scanner.
Challenges we ran into
We ran into many challenges in almost every aspect of our program, firstly the design of our app was severely limited by the scope of tkinter and the lack of freedom for styling the app as desired. We were also constantly running into issues with less common python libraries not installing properly and lack of support for these modules online. Further, we initially had trouble with getting our recipes formatted correctly as we struggled to find a good candidate website with a large quantity of recipes to pull from.
Accomplishments that we're proud of
We used opencv and a public database to grab barcode information and preload the names of almost any packaged food in Australia. We also coded a web scraper to automatically pull recipes from BBC Good Foods to populate a database of recipes. Finally our team also learnt how to use Tkinter and built an app using it in a single weekend.
What we learned
We learnt many things over the course of this hackathon. From something as simple as using opencv to turn your laptops camera on to tracking and finding barcodes to decode. We learnt about all the techniques for isolating images using opencv, using requests to send data online and beautiful soup for html interpretation and that was just to create our barcode scanner. Furthermore we learnt how to use Tkinter to create a user interface that is able to display and sort inputted information.
What's next for Best Before
We plan to further expand the functionality of Best Before through integrating mobile/web portals and a registration system. Further work on the scanning software to auto-read expiry dates will also enhance the app’s ease of use.
Not only can Best Before reduce food wastage in households, it has the potential to contribute to food reduction at an industry level. To do this, a possible addition is a business account option for retailers and charities looking to keep track of and create recipes from food in bulk. To further promote responsible disposal of waste, we also envision the app to provide recycling advice for packaged food.