People are conscious of the impact food has on their health, but not many know the environmental impact of what we eat. Most websites and apps that promotes awareness for carbon footprint calculates carbon footprint made by the user and not the impact the user has made in comparison to the general population or the user base. Furthermore, they may not offer a plan tailored specifically for the user to take action in lowering their carbon footprint. Our app aims to promote awareness in lowering carbon footprint through the food they eat. It tracks diet and carbon emission trends of the user to allow users to make a conscious choice of lowering their emission. In addition, users are able to see the impact of their actions in comparison to the population of users on the app as well as the general population in the world. The app also recommends curated lower carbon emission meal plans for the user to try out.
What it does
Our app provides users a way to look up the carbon footprint of specific foods such as beef, peas, apples, and more. It calculates the carbon footprint of the user's meal and tracks the carbon footprint of their diets. Carbon Foodprint promotes awareness by showing the user their diet and carbon footprint trends so that they can make a conscious choice of decreasing their carbon footprint. It shows the impact the user's actions by ranking it in comparison to the general population and the user app population. The app also recommends curated lower emission meal plans for the user to try out.
How I built it
- Used carbon footprint food dataset on Kaggle and parsed through it to map each food to their total CO2 emissions
- Used MongoDB Atlas because it supports rapid iterative development and enables collaboration of a large number of teams. It offers scalability for high levels of read and write traffic as well as data repository to a massive size.
- Used Mongoose because it offers a way to manage relationships between data, provides schema validation, and is used to translate between objects in code and the representation of those objects in MongoDB.
- Used Express.JS creates server-side web applications faster and smarter.
- Built a RESTful API for backend that connects to MongoDB as a database
- Utilized Figma to do wireframe mock-ups of the app. It serves as a foundation to work with other designers and have an idea of how to approach developing an application.
- Used React Native on the frontend to build our app for the cross-platform compatibility and flexibility in developing a multi-platform app.
- Used Expo for the property of launching app quickly and provides a set of tools that simplify the development and testing of React Native app
Challenges I ran into
- We ran into some issues viewing our application on mobile apps at first, so we had to view our app through a webpage most of the time
- We also had difficulties connecting the user’s meal input to the JSON data that tracked food emissions
Accomplishments that I'm proud of
- Made a custom RESTful API to retrieve and store data of userbase
- Made a cross-platform app for Android, iOS, and web
- Cultivated a positive learning environment between each of the four group members
What I learned
We learned React Native, Expo, MongoDB, and overall app development. We also learned how to work together as a team remotely and how to come together to help each other solve problems that one another faced in their respective roles.
What's next for Carbon FoodPrint
- Use machine learning to help the user find alternative meals that are friendlier to the environment.
- We also want to implement graphs and other data to help the user visualize their carbon emissions.
- Use Clarifai API (or Computer vision) to translate pictures of food and convert it into a list of ingredients so users can have an option of taking pictures of their food.
- Feature to compete with your friends in lowering carbon emission in their diet.
- Use IBM Food Trust API to track where food has been processed through.