Categories: Beginner Environmental Track, Google Cloud, Duke Innovation

Inspiration

It all started with a dishwasher and a friend... After an argument on the environmental benefits of dish washing vs. hand washing, we had the realization that it’s difficult to know exactly which of the micro-scale decisions we make on a daily basis are best for the environment. Carbon Crushers aims to educate it’s users on the environmental pros and cons of different decisions we make every day, and encourage them to remain mindful of their daily impact on the environment.

What it does

Our Android application has several features allowing users to enter carbon data and compete with others. The home screen displays your user stats and daily statistics. You can edit your user data with the gear icon, which is stored in the database and is used with carbon calculations. You can click ‘Enter your daily carbon data’ to go to a form where you can enter data that affects your carbon footprint for a day, for example, what you eat, drink, and how you travel. The app then calculates your carbon footprint and saves it to the database. In the leader-board, you can see everyone who has used the app and who has the lowest carbon footprint! The leader-board is reset daily. In the donations tab several prominent charities working on preventing climate change and lowering our carbon impact are listed with hyperlinks to their donation pages and more information about them.

How we built it

We built Carbon Crushers with Android Studio. Specifically, we built the frontend using Flutter and Dart, while using Firebase for the backend/database. To collaborate, we used a git repository.

Challenges we ran into

We experienced issues with both the frontend and backend as well as our integration between the two. In the backend, we initially tried to use MySQL in Google Cloud to host the data for our app, but we decided to switch to FireBase, which provided more seamless integration between the app and host.

There is also a wide variance in estimates of the carbon footprint of various actions because of the many assumptions and simplifications that are necessarily included. This makes it difficult to design an accurate, comprehensive carbon-tracking app that is easy to use.

The front end challenges began with routing and modulating the project. It was a language none of us knew so it took some trial and error. After that, it was all about how fast we could learn how to implement the APIs and when the best times were to use them.

Accomplishments that we're proud of

Most of us have never used Flutter, Dart, Android Studio or Firebase before working on this project, so we learned very quickly and became familiar with the frameworks. In just two days, we programmed a fully-functional android app. The clean frontend is smoothly integrated with the database. We also created a calculator to determine carbon footprint based on user statistics, which is fairly involved. The app’s dynamically updating global leader-board of carbon footprints is a huge accomplishment too. Finally, it’s amazing that we met online and created the app while only communicating with Discord and Git.

What we learned

Coming into the hackathon, every member of our team was new to Firebase, Dart, and Flutter. Because of this, we learned a tremendous amount about the frontend of Flutter and the backend of Firebase. Specifically, the front-end forced us to learn about positioning, images, and widgets in the Dart language for Flutter. On the back-end side, we gained experience with initializing, accessing, and updating cloud-based databases, and performing computations in a Dart environment.

What's next for Carbon Crushers

The biggest next step for Carbon Crushers is to build a community by allowing users to friend others and see their environmental journey through their profiles. Having a community encourages people to continue making environmental decisions and to stay on the right track.

Share this project:

Updates