Inspiration
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
- barcode-lookup-api
- flask
- google-cloud
- open-cv
- python
- vue
Log in or sign up for Devpost to join the conversation.