What track you’re submitting to
We are submitting to the Energy and Environment Track.
Inspiration
Each day, the looming presence of climate change grows heavier in the thoughts of the world. As a threat, it is one of the most dangerous forces to face mankind today, and it has the potential to completely change the way we live. That is why we wanted to bring light to how we, as individuals, can start learning and keeping ourselves accountable in dealing with this great challenge.
What it does
EcoEats helps to provide a quick and easy way to look at how much carbon emissions are produced from your everyday meals through just a snap of a camera. You can get recommendations for more sustainable meals, look at your friend’s meals, and compete with your friends to see who's eating the most sustainably.
How we built it
We built the app through Android Studio along with a firebase database? We used the firebase to create users and meals in the cloud. Each meal was linked to the user it belonged to using their unique User Id. We used google’s image labeling UI to give our app computer vision. Using this api we could find the food in meals and, by using the corresponding carbon amount, find approximately how much carbon went into their meal.
Challenges we ran into
We ran into many problems such as getting the Google sign in to work, connecting the Firebase, and using the machine learning API. One challenge we faced was scheduling our code so that the UI did not update before it received information from the cloud. We overcame this by using OnCompleteListeners to trigger the UI to change when the app finished reading from the cloud. We also ran into issues scheduling the machine learning API, and resolved it by passing in the Screen Object to trigger events when the API was completed.
Accomplishments that we're proud of
We are proud that we even finished a working project for our app as Android Studio and mobile development was a relatively foreign concept to us at the start of the project. We are also proud of how quickly we learned different tools such as the google api and firebase to create a finished product. We were very proud when we finally got our camera to function properly with the image recognition and also when we successfully displayed our database of users with their corresponding meal carbon emissions.
What we learned
We learned how to structure a noSQL database. In this we also learned how to make more advanced queries and how to do more advanced reads and writes, such as transactions. We also learned how to make our app update in realtime using Google’s real time cloud storage. We also learned how to work with the outputs of machine learning algorithms, by filtering results for confidence and throwing out irrelevant results. It was our first time using computer vision and we learned how to prepare Images for processing and how to work with the raw data our API produced. It was all of our first time using an android studio so we had to learn all the parts of the UI. In order to create a sign in for users we learned how to use Google’s authentication API to create and manage user accounts.
What's next
We hope that EcoEats will start to make people see how thinking about carbon emissions in their everyday individual decisions can have a great impact on reducing climate change. Currently we are using a Google image recognition API to recognize different meals, but we hope to one day train our own machine learning model to account for different ingredients, how meat was raised, and the context behind specific meals that could all have an impact on carbon emissions. Along with this, we hope to expand our friend interaction portion of the app to include more incentives to reduce carbon emissions along with having achievements and prizes. We have not yet published our app on the play store and when we do we will need to upgrade our database and api usage to accommodate a large amount of users.
Log in or sign up for Devpost to join the conversation.