We noticed that food waste is a huge concern, especially in the US when there’s 30-40% of food that goes wasted. We considered that one of the many reasons for this is due to expiring food, and so we sought out to develop an app that helps avoid letting food expire.

What it does

It lets you take a picture of a receipt that is scanned and the ingredients bought are stored in your digital fridge, complete with quantity of each ingredient and expiration dates. Then with a complex algorithm and recipe API, we construct a meal plan that takes into account your fridge and expiration dates amongst other details. This meal plan can help guide users to find recipes they can cook with what they have in the fridge while minimizing waste. Once a recipe is used, a user can mark it as used and his/her digital fridge is also updated.

How we built it

We built it using React and Node on the front end and backend, with additional backend developed using AWS services like Lambda, Textract, and EC2.

Challenges we ran into

Coming up with and developing the algorithm that minimizes food waste with consideration of the vast number of possible ingredients, recipes, and expiration dates was fairly difficult, requiring us to delegate one team member to focus most of his time on that. The main challenge was to arrange together the various ingredients while giving priority to food who was going to expire soon.

We also got into many issues working with forms in React when using the Ant-design component library and learned a lot from that.

Accomplishments that we're proud of

We are proud that we were able to construct in so little time something that helps reducing food waste and that seemed so impossible to do 36 hours ago.

What we learned

Building the app in so little time was challenging: we were able to learn and improve in how to split work and to give priority to the most important things that we wanted users to have. We also got the chance to learn and improve our frameworks knowledge, like:

  • AWS Lambda
  • AWS Rekognition
  • AWS EC2
  • Python
  • HTTP GET/POST request handling
  • NodeJS
  • Ant-design components

Overall, the process was fun and challenging and we hope we will have to do it again :D

What's next for OptiEat

The app right now is not perfect. We need to tweak some things and improve our algorithms, but we plan to keep working on that since we received encouraging feedback of people who actually wanna use the app.

Share this project: