Remembering how awesome you are should be easier. With Good Karma you have a metric of awesome.

What it does

Good Karma allows you to track actions you've made in the past that have had a positive impact on the world, search for new ways to make the world a better place, and keep up to date with important world events!

Our application connects to the New York Times API and pulls out stories we think will show a need in the world for everyday to people to make a difference. Then, we use the ProPublica non-profit data set to let the user find an organization near them that supports a cause the user believes in, so that they can donate towards the cause or volunteer their time to making a difference. We also scrape the Red Cross blood drive service to provide users who are able and willing to donate blood the opportunity to do so!

All the "Good Karma" the user collects by donating their time, money, and blood is tracked to show the user the change they've been able to make in the world. Users can view the history of their logged activities and see a breakdown of how they choose to make a positive difference in the lives of those around us!

How we built it

Our web application is built with a React.js front end and a MongoDB backend stored on the cloud. We connect to the New york times, and ProPublica APis, as well as scrape a red cross website used to book blood donation appointments.

Challenges we ran into

Neither of us had any experience with React prior to starting the project and we were thrilled to have the opportunity to face the challenge of learning it in such a short time. The APIs we ended up using also didn't quuuuite fit exactly with how we wanted to use them so had to do some extra parsing on the front end of our application.

Accomplishments that we're proud of

We've completed a functional full stack web application in a language we had no experience in, in a very short period of time and we couldn't be happier with how quickly we were able to apply the React framework to our needs.

What we learned

We learn't a lot of Reactjs specific knowledge, as well as re-learnt some backend mongoose/express things.

What's next for Good Karma

The biggest thing we weren't able to accomplish and would really like to is linking of the different tabs. We would like to be able to show the user an article, and if they want to do something to help the people affected by the situation being reported, provide them with a single button that brings them to the closest thing we are aware of that is related. Given an extra team member, or more time to complete our project, we likely would have attempted to train a machine learning model such as IBM's Watson on how to associate distressing articles with an appropriate way for people to assist those affected. We also would also like to improve the user experience by ensure the UI/UX aspect of our project provides seamless transitions between related views.

Share this project: