Inspiration

In an era where anthropogenic actions threaten the natural world and environmental care becomes increasingly necessary, Sustain-A-Goal empowers individuals to adopt sustainable practices in their daily routines. By saving the fuss of Google searches by proposing customizable sustainability goals and displaying clear-cut data on the impact of an individual's actions, Sustain-a-goal is your go-to platform for making - and committing to - environmental change.

What it does

The Sustain-A-Goal app has 3 main features: Recommendations, the Goals Checklist, and the Impact report.

Recommendations In the Recommendations panel, the app randomly generates a “recommendation” to make your daily life more eco-friendly, like "Drive Less" or "Eat Less Meat", along with a description of its importance. Some tips prompt you to enter info about your daily habits for further analysis, like how many miles you drive per day. Based on your miles traveled, the app first generates an estimate of how much CO2 emissions you would create from driving this amount annually. Using the slider, you have the option to adjust your sustainability target - from "Casual Conserver" for those who just want to pitch in, to "Climate Warrior" for those hardcore environmentalists. For each option, we present data on the emissions you save or reduce to. Once you have chosen your target, you’re prompted to set this goal. If you select “Yes, set this goal”, the goal is immediately added to your “Goals Checklist”. If the recommendation (e.g. Carpooling to drive less) is something you already do normally, then you would select “I already do this”. The current goal is added to the checklist. But to encourage more effective action, the app suggests that you “upgrade your goal” and try a more aggressive goal. (e.g. Biking to drive. less). If you choose to upgrade, your current goal is replaced with the upgraded one. Finally, if none of the targets interest you, you can select "Maybe Later" to add this to the back of the queue.

Goals Checklist All your added goals are displayed in the Goals Checklist. You can check or uncheck items to indicate that you're doing them daily!

Impact Report As you check or uncheck goals, the impact report accumulates the emissions reduced or water saved from your currently-checked goals, and how much you could do if you committed to all your goals! For example, once you check "Carpool with a friend", your personal impact under "emissions" is increased.

How we built it

Sustain-A-Goal is a ReactJS web application, integrated with a Firebase backend. Material-UI library was used to design the application.

Challenges we ran into

  • There were many features we wanted to implement (refer to "What's next"), but we ran out of time
  • Managing of asynchronous behavior of Firebase real-time database and React
  • Doing research and finding data about emissions/water usage in a short amount of time
  • Linking functionality of goals checklist and impact report

Accomplishments that we're proud of & What we learned

  • Learning to use Firebase for the first time and successfully applying the realtime database to our application
  • Exploring the Material-UI library for the first time
  • Expanding our understanding of React and designing web apps
  • Coming up with an innovative project idea and creating a working application out of it

What's next for Sustain-A-Goal

  • Setting up a daily/weekly email reminder system that summarizes the user's impact report and reminds the user to complete any unchecked goals
  • Incorporating third-party APIs to make recommendations more engaging and useful for user
  • Add more recommendations
  • Include additional impact categories (i.e. expand to more environmental metrics beyond emissions & water usage)
Share this project:

Updates