In a grocery store, you are presented with thousands of options for food. To adequately research each of these to make the most environmentally-friendly decision would be a full-time job. Nobody has that kind of time.

What it does

Scan the barcode (CV food scanning is planned) of a product you find in a store to receive a list of ingredients it contains that have a high carbon footprint.

How we built it

We built the front-end in ReactJS, using Verbwire IPFS file storage for the backend information. The food information comes from the OpenFoodFacts API and the barcode scanning is done by QuaggaJS. Barcode scans come in from QuaggaJS, are fed to OpenFoodFacts, the returned information is searched for keywords that overlap with high-impact foods that is retrieved from Verbwire IPFS storage.

Challenges we ran into

While building this project, we started with the idea of searching by manufacturer's name, to find the carbon footprint of specific companies. It became impossible to generalize this to many different products and we found another approach. Searching by ingredients is much more generalized and allows the program to deliver information on a product that we may have never heard of.

Accomplishments that we're proud of

We're very proud that this application is decentralized. There is no backend server that is required for the system to run. If someone has a copy of the website, they will be able to access our database of high-impact ingredients as it is stored in IPFS blockchain storage.

What we learned

We learned a lot about linking multiple APIs together, with all the different requirements of each, to build something new. We also built a program with TensorFlow computer vision to recognize foods without barcodes, but was ultimately unable to implement this feature into the website before deadline. Barcodes already exist on most foods and is a reliable enough method for an MVP.

What's next for Pi

Given more time (just a few more hours!), our team would have been able to combine our TensorFlow Python application into our web server to recognize foods without barcode stickers. We would also look into hosting more of our application on blockchain to reduce the centralization and reliance on a server to present the web client.

Built With

Share this project: