Our goal was to build out and test our idea of trying to minimize the negative impact of our actions. Most people want to do good given the choice. We need to buy Computers but can't help but think about unethically sourced components that make up most products we use everyday. From unsustainably sourced food to clothes, we know we are having a negative impact, but don't really do much about it.
But humans tend to do good, given the choice.
What it does
Our project makes it possible for people to control how charities are discovered and funded. People can modify causes, create new causes and add or modify charitable options. Everything is open source and on github.
When you are on Amazon ready to buy a product and are researching it, our chrome extension very nicely shows a modal with a suggested donation to a related donation campaign. It also shows a related news story about how the product you are about to buy affects people or environment. For e.g. For Macbooks we might show campaign for environmental causes with a related news story.
How we built it
Wrote a simple backend in node.js. We obtain product information from Amazon's API and have very simple rules written on backend to map product categories to our "causes". These causes are further mapped to charitable campaigns.
Challenges we ran into
- Every big API that aggregates even freely available data costs insanely high. On average we saw APIs at around $300-500/month. This made our resolve to solve this problem even stronger. All of this data should be in public domain.
- We didn't want to implement a complicated change management system to support community edits to our knowledge base so we went ahead with just using github and pull request format to suggest changes to our knowledge base which are simple json files.
- We are doing things in a hacky way, but this is just to test the idea out. We didn't want to do optimization too early in the project's lifecycle.
Accomplishments that we're proud of
We got an end to end product working!!!
What we learned
APIs in non-profit domain are closed and not intuitive at all. There is no spirit of open source and community. Every API lives in its own little sandbox behind a paywall.
What's next for Daan
Get community engagement and build out a much better change management solution. Right now we expect most developers to use it so github would be okayish. But building a good change management solution would be interesting.
Chrome Extension here: https://github.com/JagjitUvic/daan-extension API here: https://github.com/harpreetsingh91/daan-api To use this project, just install the chrome extension from the github link above. The API server is live on heroku.