Climate change is one of the most pressing issues in our current world, and the food we consume on a daily basis has an enormous impact on the carbon footprint we generate. For example, over 1800 gallons of water are required to process a single pound of beef! The inspiration was to build a tool to for us to be aware of our carbon impact, and make it easier to make more sustainability friendly lifestyle choices.
What it does
The core objective of our iOS app is to recognize the food on your plate, classify it as one among different food categories and calculate a score on how environmentally friendly your diet choices are. Our unique carbon footprint index score compares how your food compares to the average daily carbon impact of a person and also gives tips on positive carbon offsetting. Easy-to-digest graphical representations and a simple 0-100 score gives the user a quick idea on the possible carbon impact their food might have.
How we built it
We utilized Google's Vision API for image recognition, as it was very good at identifying food items. We built the iOS frontend in Swift and built the REST API in NodeJS. Some of the dependencies for the frontend were Macaw, SwiftyJSON, and AlamoFire. The database in the backend is a NoSQL database called MongoDB which is supported by Azure. We deployed the NodeJS server to Heroku and built our RESTful API endpoints.
Challenges we ran into
The biggest challenge we ran into was learning how to work with Google's vision API. We had issues sending over the 64 bit image encoded string to the our REST API for processing it in the backend as it was very large. We tried many different workarounds, but had a tough time adjusting to the Google API requirements.
Accomplishments that we're proud of
We are proud of coming up developing our own algorithm that generates a comprehensive and relatively accurate carbon index score for most dishes and types of food. Managing so many aspects of the project was difficult, but we're glad we could pull thru'.
What we learned
We had clear individual responsibilities and we all made significant process in our own work, but coordinating and managing all the aspects together was something that was a lot harder than we thought. We certainly learned the importance and benefits of Agile development and how to manage multiple aspects of a project.
What's next for carbonize
We are planning on integrating iOS health data from the iPhone to get a better understanding of our user's lifestyle habits, as a means of relating health and sustainability as two complimentary concepts. Utilizing machine learning to better identify the food categories so that the generated score is more accurate.