Climate change is one of the greatest challenges threatening the future of humankind. If we, as humans, don't change our negative environmentally impacting activities drastically, then by 2030, according to IPCC in a report to the United Nations, the levels of CO₂ in the atmosphere will cause irreversible damage to Planet Earth. Habitats and lives are in danger with the increase of natural disasters related to human-induced global warming. While, here, we see a problem that we feel passionate about solving, we also, as individuals, empathize with the people who feel largely overwhelmed and powerless in addressing such a seemingly impenetrable problem that has such terrible consequences. These are individuals who may not want to think about the horrible impact of their uninformed actions. As such, we knew that trying to move the needle on the attitude towards climate change would be difficult. But, we were also inspired by the power of community, and so we wanted to tap into that for our project addressing climate change.

What it does

I remember the city covered in smoke. A haze had covered the city that didn't look like fog. The fog was normal. This... wasn't. It wasn't until later on that day that I learned about the forest fires that had overtaken Northern California. The next two weeks were that of chaos. No one knew who was safe, no one knew how fast the fire was spreading. It was hard to know when it was safe to go outside when it was safe to breathe the air. Updates were slow, if at all. This could have been different.

What we seek to do is to empower average citizens to contribute to the data needed regarding fires and air quality. A person can see the fire spreading, and immediately update everyone by simply dropping a pin on the location. More dedicated users can even host their own air quality sensors, which will automatically be added to our database.

Our project, “Safer”, is a suite of tools that simultaneously encourage citizen science which addresses climate change and acts as a community resource finder for individuals in the event of a natural disaster. “Safer” is a web app that showcases maps that are populated with data from multiple APIs including datasets collected by NASA. Our hope is to build maps that citizens can use that will be helpful in the event of a disaster.

How we built it

We created a backend API in Node to collect and handle incoming data. React was used on the frontend to update users with a visual interface, giving them an interactive map to inform them about disasters. Then came the hardware. We used a Raspberry Pi equipped with sensors to pick up air quality. We also integrated various datasets, including those from NASA, to integrate into our app, to give users as much live information as possible during a threat, such as wildfires.

Challenges we ran into

Elliot: Setting up the backend with the proper database was the most challenging for me. I chose to use a NASA data set that, while relevant and informative, lacked user-friendly documentation. I had to reverse engineer the data to make it fit into a database and was between torn between using MongoAtlas or SQL. After hours of hacking, I finally made MongoAtlas work and was able to get our web app to query data for our map.

Jaeson: I had never worked with getting datasets using APIs before, including the Breezometer air quality API, and had been on a 6-month hiatus from Node.js. This was my return to Javascript, Node.js, and data science. Beyond refamiliarizing myself with the various conventions and tools, I also had to try integrating all new ones, such as frontend virtual reality and cloud-based database systems.

Colleen: Wow! Where to begin! I spent a good amount of time trying to set up passport.js authentication but to no avail. It would've been nice to have a sleek login/signup page for the web app with the user's choice OAuth from Google, Facebook, Twitter, or Local, but our mentor refocused our team's attention to hacking the air quality measuring hardware prototype. It was emotionally difficult to make the pivot but I wanted to do what was best for the team as well. Two of my teammates eventually took over and worked together to solve the user provisioning problem with their own written authentication methods.

Justin: Our project had many moving parts and I didn't know if we would be able to prototype the air quality sensor because, honestly, we didn't even have all the parts to make a raspberry pi to work, to begin with. After a few hours and a lot of searching on the web and in nearby stores, we tracked down a seller on FB Marketplace who got back to us. And then! In a surprising turn of events, our mentor helped connect us with another team who actually had just about everything we needed. That was when we realized how amazing CalHacks was -- people who are strangers can be so friendly and supportive.

Accomplishments that we're proud of

Despite all the crazy and often laborious challenges we ran into, we accomplished a great deal! We really worked hard to implement an idea that we think can make a difference. The web app itself is quite complex, using 3+ sources of data to populate a map using the Mapbox API, which we had to integrate into the frontend and backend. We had to learn to work as a team to get our features pushed to production

What we learned

Well, we spent 50+ hours with each other in one weekend, so we learned a lot about how to push each other's buttons. But in all seriousness, and, despite our snipes and squabbles, we learned that CalHacks was actually a really wonderful way to form a shared experience.

What's next for Safer

Moving forward, we will work on all the kinks in the live, deployed version of our app, finish working on the air quality sensor prototype, and take it to the next level by launching Kickstarter Campaign to spread awareness and carry the social responsibility that is placed on our shoulders to protect communities and our beautiful blue planet.

Built With

Share this project: