By Team "TexasTopf"

Food waste? Nein danke! A project by Emelie Hofland and Jaime González-Arintero for the EarthxHack online event, on April 24-26, 2020.


According to recent studies, supermarkets throw away 43 billion pounds of food every year and this is considering the U.S. alone. Grocery stores cause 10% of the U.S. foodwaste, making grocery store food waste a massive problem.

Hello(NotSo)Fresh is an initiative to avoid excessive grocery store food waste by promoting products that are still good but need to be sold rather sooner than later. To do this, it uses sensor data to keep track of how long food products have been in store. This way, we can make a ranking of products that need to be sold and products that are on deal to automatically generate delicious recipes that can be shown to the customers.

Another advantage is that people will get inspired to try out new dishes and ingredients, therefore also contributing to a more varied diet.

Here is a screenshot of the Hello(NotSo)Fresh application:

Demo links

The dummy app can be found here and this is the link to the application like we showed it in the video, but in demo mode. For more info about these links, please see the GitHub repository!

Challenges? Oh dear...

First of all, although we had some hardware at home, we didn't have weight sensors to keep the track of the different products in the shelf. So we had to get a little creative. Instead, we used a distance sensor, and a luminosity sensor. The distance sensor checks if there's something on the potato box. If the bag of potatoes is removed, the sensor will find no object in front of it, therefore reporting the box as "empty", and indicating that the potatoes are out of stock. As for the luminance sensor, we found out that when placing products on top of the tray, the small difference of ambient light of the surroundings was measurable. Thus, we used it to track if the tomatoes were out of stock. When removing them, the sensor detects an increase on the "lux", and indicates that the tray is empty. In any case, please consider that this is just a proof of concept, and we thought that this could serve at least to illustrate the use case.

Aside from hardcoded sleep times on the R application that were pretty difficult to detect, luckily the R-Shiny part went pretty well :)

As for the "video production of dubious quality"... :) Well, we recorded a live demo with a phone, then we embedded the video on a Google Slides presentation, and then we recorded the screen narrating the project on top (and replaying the video from the presentation itself). Sorry in advance for the quality!

Solution architecture

The following schematic shows how the entire solution works. For more information, please head to the technical setup, linked below.

Technical setup and resources

The complete technical setup, as well as all the resources used, can be found in the GitHub repository of the project.

Built With

Share this project: