Since hurricane Matthew tore through Haiti last week, we've been seeing posts shared about how charities such as The American Red Cross and The Clinton Foundation accepted millions of dollars in aid after the horrific earthquake devastated the nation and created nothing but false hope and poorly implemented temporary solutions. Charities like Autism Speaks have faced strong opposition from those they're supposedly speaking for, and some charities squander more money than they take in on professional fund-raising and CEO salaries, like the Kids Wish Network. We wanted a way for potential donors to see why they might not want to support some charities, while simultaneously providing options that would our users to donate to more effective organizations. So we designed a Chrome extension to help guide users through this process.

What it does

When you arrive at a questionable charity's website, the extension icon becomes highlighted and click-able. Clicking on the icon pops up a small window that displays the rating issued by Charity Navigator (a third party service that ranks financial transparency and accountability), several alternate charities that work for similar causes, and news articles related to the charity in question - sometimes the Charity Navigator rating doesn't tell the whole story.

How we built it

It's a pretty standard Chrome extension, built with HTML and JavaScript. At the moment we're using a relatively small, hand-curated list of charities and alternatives. We scraped news articles using Python and the Google Custom Search API, and used IBM's Bluemix to do sentiment analysis to single out the negative articles on a given charity.

Challenges we ran into

Initially, we struggled to get links and images to display in the extension pop-up. All of the charity evaluating and ranking organizations that we could find neither provided an API nor responded to our request to use their paid service. We tried brute-force search-scraping with Python, but iterating through every entry on Charity Navigator to pull ratings and charity home-pages was a slow process that inevitably timed out and left us with an incomplete data set. We divided the labor for coding the front-end and having two people making commits to the same file simultaneously caused some errors to come up. Bluemix was tricky to get running on our data, though it saved us a lot of time in the end.

Accomplishments that we're proud of

We created a functional extension that addresses a real world problem. We incorporated and utilized various technologies and libraries we'd never worked with before, including IBM's Bluemix and Google's Custom Search API.

What we learned

First and foremost, we learned the process of writing a functional Chrome extension. We gained proficiency in using Bluemix to process text for sentiment, and improved our knowledge of both scraping and JSON parsing.

What's next for Help, Actually

With access to the Charity Navigator API, we could more effectively create a database of charities and their ratings and web pages. We could create a scalable solution that deals with every charity in Charity Navigator's database, and use Bluemix to gauge the sentiment of any news articles the charity appears in to provide a quantitative and qualitative assessment of any charity the user navigates to. We would also like to port to Firefox and Opera.

+ 4 more
Share this project: