Inspiration

We kept wasting food, and we struggle to keep track of what food we have, so we decided to make an app to track it, and tell us what we can make with it. Overall, this will save us money in avoiding the wastage of groceries and the app will also suggest a shopping list based on what you use.

What it does

MealSaver lets you scan a receipt to save your groceries into an inventory, using Optical Character Recognition, then gives you recipes based you can make from your inventory. It then gives you a recommended shopping list based on what you've bought and used previously.

How we built it

We built this in NodeJS, MySQL, HTML/CSS/JS and jQuery. We used CircleCI and DigitalOcean for DevOps.

Challenges we ran into

Setting up CircleCi was a challenge, especially since neither of us had done it before, we did eventually get it to build and deploy when a commit is made to Github. We also faced challenges with processing the text data from the receipt, and had to employ several algorithms including a matching algorithm and Levensthein distance algorithm to classify each food product on a receipt accurately. A final challenge was finding appropriate APIs to use to find recipes, which took some trial and error to find one that gave us good results.

Accomplishments that we're proud of

Our receipt scanner took a lot of work, and it's pretty satisfying to see it work with (most) receipts. We are also happy that we managed to properly set up CI/CD with CircleCi and GitHub to reflect a real project deployment and workflow.

What we learned

We learnt a lot about DevOps, along with using OCR, using many different APIs.

What's next for MealSaver

We plan to add many extra features to improve the inventory tracking and quality of the receipt scanning We're currently looking at using computer vision with deep neural networks instead of OCR as this may give more accurate results.

Share this project:

Updates