As frequent drivers, often taking 4-hour trips between university and home, we're often concerned with our carbon footprint through our travels. This is why we built DCarbon, a Google Chrome Extension which provides a way for drivers to offset the carbon emissions of their trip via donations.
What it does
The extension activates while the user is on Google Maps. It calculates the travel distance and multiplies that by tailpipe emission grams of CO2/mi of the registered vehicle's found on the EPA database. We take that number and using the formula provided by the Arbor day foundation (15 dollar offsets 1 million grams of C02 emission) gives the user the opportunity to donate to the Arbor day foundation (which plants a tree for every dollar donated)
How I built it
We utilized the US Department of Energy's open data set on Fuel Economy and injected the data into a mongoDB Atlas database service hosted on GCP. We used Bootstrap for the Chrome Extension's front end. For calculating the carbon offset cost of the trip, we used the Google Maps Matrix API to determine the trip distance between the user's origin and destination. We then query our mongoDB instance for the emission rate per mile of our register vehicle, multiply that by distance and using the formula of $15 to offset 1 million grams of CO2 emission to determine a donation amount and insert this amount onto the Arbor Day Foundation Donation page.
Challenges I ran into
Properly extracting and handling data through a Chrome Extension. It was a different experience compared to a web app/web page. Furthermore, querying and manipulating data via mongoDB Atlas was also a challenge as it was new to us.
Accomplishments that I'm proud of
Building a functional application which can be deployed after some minor enhancements.
What I learned
Developing a Chrome extension, working with mongoDB Atlas, as well as the actual sciences behind CO2 emissions in cars.
What's next for DCarbon
UI/UX enhancements with additional donation options. Eventually, deploy onto the Chrome Extension Store.