Food is wasted every day. How can we reduce food waste? We all came by the moment when some food has been expired, left alone in the cupboard. In most cases, the only time we look at the expiry date is before buying it. How about we actually track when they will expire?

What it does

Best Before is an expiry date tracker. It emails you when your item's lifecycle is nearly over. We make adding items super easy. Product details are auto-generated from just a barcode picture and the expiry date is recognized from just a picture. We leverage Google Cloud Vision AI, with fuzzy string matching to obtain the expiry date. Also, we use Open Source Computer Vision Library (OpenCV) and Barcode Look Up API to first read the barcode and fetch the product details! Once items are consumed, the user can easily remove tracked items. So Best Before is your companion for the whole life cycle of your grocery items!

How we built it

We used Vue Js for the front end and Flask for the Backend. Cockcroach DB for the database. Google Vision Api for OCR, OpenCV and BarcodeLookup.

Challenges we ran into

The expiry date recognition was by far the most challenging, we tried regex and multiple formats of expiry dates but finally was able to parse it with fuzzy matching and string replacement for the month.

Accomplishments that we're proud of

Being able to build a functional prototype of what we imagined, despite being only 2 working on the project!

What we learned

We learned about Vue JS and Cockroach DB. Also linking every components of the project, be it front end, backend and database!

What's next for Best Before

The email notification is currently not automated with a cron job. Also since we were both most familiar with web development, we'd love to build Best Before on an android app since it makes it easier to take pictures!

Built With

Share this project: