Green Alerts is a cross-platform mobile application designed to encourage daily actions that help to mitigate climate change and reduce one's carbon footprint. We chose to create a mobile application since people always have their phone with them and these alerts can help to educate users with sustainability tips as they go about their day. By seeing these green alerts on their phone and taking small actions each day, users will be inspired to gradually change their habits for the betterment of the planet.

What it does

Green Alerts sends push notifications to a user's phone. The push notifications contain eco living and sustainability tips in the following categories: Transportation, Food, Energy Efficiency, Cleaning, and Reduce/Reuse/Recycle. Users can sign up for the app on the signup screen. On the settings screen, users can toggle the tip categories on or off to control the kinds of tips they receive. They can also adjust the frequency of the push notifications to weekly, daily, or hourly on the settings screen.

How we built it

We used React Native, Javascript, and the Expo CLI to develop the mobile application. The backend consists of an Express server deployed on a DigitalOcean droplet. User information is collected at signup and stored in a .json file. An API route is used to fetch the eco/sustainability tips from the backend. We used the Expo Go app to preview the application on our mobile devices as we built it out. Prior to developing the application, we used Balsamiq to create a basic prototype.

Challenges we ran into

We ran into a number of challenges, including running out of time to flesh out some of the functionality, such as scheduling the frequency of the alerts and adding the sustainability tips to the user's calendar. We also ended up creating local notifications rather than push notifications for the time being due to time constraints. Sometimes, we had goals that were perhaps too lofty for the short timeframe and we had to adjust our expectations and scope based on how things were going. Some of us struggled to deploy the app locally and view our changes due to package dependency issues and merge conflicts. We also faced the challenge of having teammates in three different time zones (one in Europe, one on the East Coast, and two on the West Coast), but we maintained good communication despite our time zone differences.

Accomplishments that we're proud of

This was everyone's first time working with React Native and we are proud of getting this application together so quickly. We didn't start coding in earnest till Friday evening so we got a lot done in a short amount of time. Everyone communicated effectively on Zoom and Slack. We also helped each other out any time we ran into issues. There was great teamwork and collaboration.

What we learned

We learned how to use React Native and how to build a basic mobile application. We also learned how to create push notifications and build a backend using an Express server that is deployed on a DigitalOcean droplet. All in all, we learned that sometimes things don't work out as you would expect but with a team you can accomplish anything.

What's next for Green Alerts

The next steps for Green Alerts will be to finish the push notifications functionality and scheduling functionality, as well as securely storing user data in the backend. We also want to add functionality that allows users to share the tips via social media as well as add a tip to their calendar as a reminder, so they can give themselves action items according to their schedule. Additionally, we want to use the Google Sheets API to fetch the tips from a Google spreadsheet. We also want to continue working on improving the user interface and design of the app. We would also consider gamifying the app somehow with points or rankings to motivate users to follow the tips and add them to their calendar.

Share this project: