Inspiration
Just about everyone loves to travel, but less fun to consider is the environmental impact of that travel— an issue that has featured prominently in the news. By traveling in the most carbon-efficient ways, people can reduce the environmental impact of their actions without sacrificing their chance to explore the world in the process.
What it does
Carboniferous takes a source and destination, as well as a maximum cost and time for travel. By combining multiple modes of transport, Carboniferous constructs the lowest carbon-impact trips within the specified cost and time constraints and links the user to directions to access each step. In this way, Carboniferous allows users to see how small changes— like taking a bus to a major airport instead of driving to a local, smaller airport— can reduce their carbon footprint.
By providing carbon costs along with monetary and time costs, the app allows people to choose the balance between convenience and conservation that’s right for them. Carboniferous also provides information about carbon offsetting programs and other ways to reduce your carbon footprint. Rather than enforcing one option as the absolute best, Carboniferous offers the pros and cons of each choice in an easy-to-compare table, putting power in the user’s hands.
How we built it
Carboniferous is built on a React stack with a Python backend. The backend calls into several APIs, including the Google Maps Directions and Distance Matrix APIs, the American Airlines Flight-Engine simulated flight data API, and the Lufthansa Nearest Airports API. Carbon footprints for paths are calculated using standard values for kilograms of carbon released per gallon of gas burned or mile traveled, depending on the means of transportation and the number of people transported.
Challenges we ran into
- API request limits: the carbon footprint calculation API we were using has a 20-requests-per-minute limit, and we had to reverse-engineer the calculations it made to remove that dependency
- transferring from local hosting to AWS: since the Flight-Engine API has to be hosted on the same server as the backend, this required some careful thought
Accomplishments that we're proud of
Our team modified the Flight-Engine API to add costs for each flight and add additional airports that American Airlines services, scraping Wikipedia and cross-referencing a dataset of airports. We were able to share this fork with other hack teams, and that additional data -- and the script used to generate it -- is part of a pull request we're making to contribute back to this API.
We’re also proud of building a full stack web app! Our team is two first-time hackers and two hackers who’ve attended but not submitted at previous hackathons, so we’re excited to showcase this project.
What we learned
- APIs are plentiful, but not always powerful: we’ll be much more careful about researching an API’s input format and request limits before integrating in the future
- Making a general plan helped us stay on track: sketching the tech stack and vision on the first night allowed us to divide labor and stay focused
What's next for Carboniferous
- linking to real-life flight data and flight times for more detailed information
- factoring departure time into routing
- improved communication between frontend and backend: remove heavy limitation on number of requests that can be issued at once
Built With
- amazon-web-services
- express.js
- flight-engine
- google-cloud
- google-maps
- javascript
- nginx
- python
- react
- react-redux

Log in or sign up for Devpost to join the conversation.