Inspiration

We recognized getting people to take part in sustainable action is a difficult task, as well as the lack of a way to measure an individual’s impact on the environment. We wanted to create an application that helps encourage people to behave in a sustainable fashion and create a pattern out of those actions, showing them the impact an individual can cause. Thus, we created Footprint, a mobile app that helps visualize CO2 emissions and promotes lifestyle changes that benefit the planet, such as walking or eating less environmentally intensive foods.

What it does

Footprint is an app that tracks an individual's carbon footprint. Some specific things that Footprint can help users do are:

  • Log the food they eat...
  • ... and the modes of transportation they used, automatically estimating the amount of CO2 emissions these actions produced
  • Give daily measures of net positive or negative CO2 emissions and keep track of a history of “footprints”
  • Using computer vision, scan and detect the type of food being eaten

How we built it

On the backend, we used Express.js for our web server and MongoDB for our database. Our backend was designed as a REST API. On the frontend, we used React Native. To do computer vision, we used Google Cloud’s Vision API.

Challenges we ran into

We had some difficulty connecting our frontend and backend development together since we developed them separately and simultaneously. When linking them together, we had to ensure that the necessary information was being exchanged between our project's interfaces and in the right format. We also faced some challenges learning how to integrate MongoDB and the Google Cloud Platform into our backend.

Accomplishments that we're proud of

We were proud of using new software such as React Native and MongoDB and still creating a functional, sleek application. We were also proud of our use of Google Cloud Vision, which gave us the ability to classify food and automatically determine the approximate carbon emissions of that meal/item.

What we learned

Ethan: I learned how to use React Native and Expo to work on frontend development and see the effects of JavaScript and CSS changes in real-time. This was also my first time writing code at 4 A.M. that actually worked :)

Alex: I learned a lot about backend development and got experience in working with Express and MongoDB. This was my first real project working on the backend, and I’m happy with what I was able to contribute.

Frank: This was the first time I used React Native and Expo. I had previous experience with React, but this was my first time trying native app development, and I ended up learning a lot about developing for smartphones.

Jason: I picked up MongoDB for the first time to use in this project. Having worked with SQL stuff before, it was definitely a challenge to change my mindset to thinking about things in a different way. I also am proud of learning how to deploy an API using Heroku.

What's next for Footprint

Hackathons are extremely time-constraining, and all of the imagined features are hard to fit into a finished product. Given more time, we would’ve eased the user experience by implementing a real-time location tracker that used speed, stopping patterns, and location to automatically determine the user’s method of transportation. This would’ve eliminated the need for manual entry, which would hopefully make people more diligent in their use. Additionally, giving social rewards such as badges and achievements that could be shared on social media platforms such as Facebook would’ve incentivized people to go further in their attempts to be sustainable, helping preserve the environment even more effectively. We also would like to include a metric for water usage, so people can get a better sense of how many resources are needed for the foods they consume. With smart-home integration, we might also be able to help people monitor their power usage and offer suggestions for how to be more sustainable in their house too.

Essentially, we have a vision for Footprint to become an app that can help people critically examine their lifestyle and how it impacts the environment. It would be an app that can, based on their actions, offer suggestions for how to be more eco-friendly.

Built With

Share this project:

Updates