Being a better person is hard. Every decision we make in our life has ethical implications - even trivial decisions like hopping into our car instead of a bike, or buying a latte at a coffee shop instead of drinking water. Although the consequences of these actions may appear small, at scale the story looks quite different.
Our project, GivingIn, is about creating a way for every small ethical 'sin' you make to contribute to a good cause that you care about. Our goal was to minimize the friction and effort involved in becoming better while creating incentives to both adjust our lifestyles and still help the world even when we (inevitably) fail to be perfect.
What it does
GivingIn is an integrated service ethical assistant which helps you offset minor ethical crimes with small percentage-based donations to charities that work to address those same issues at a large scale. For example, GivingIn enables you to set up an automated transaction each month which donates 2% of the money you spend on gasoline to reforestation efforts to counteract your emissions footprint.
We have the ability to receive your transactional history securely from thousands of financial institutions globally though the plaid API integration that makes up the backbone of our application. It's a minimal friction 'set and forget' application that empowers you to be better at the margin with barely any interaction.
Our simple and intuitive UI belies a vast and powerful application on the backend. Each month we track and accumulate a small portion (2-5%, depending on the scheme you opt in to) of your purchases that have the biggest impact on one of several customizable 'Causes' that you care about most. These funds are automatically dispersed in a single batch transaction at the end of each pay cycle through Visa's developer APIs - limiting the processing effort and transactional overhead on the charities you contribute to and simplifying the process for managing itemized tax deductions or otherwise tracking your contributions.
Donations are tracked with a dual incentive goal: to discourage behaviors that negatively impact the causes you care about by increasing the cost of these actions to align more closely with the impact that they have, and to 'redeem' these actions by supporting charities who are effective at fixing them.
In addition to our several pre-built Causes which link various merchants and product categories globally to corresponding offset charities, we have also built a custom 'My-Causes' interface through Microsofts Cognitive Services and Twitter's API. By scanning your twitter feeds and extracting key sentiments and topics we can estimate which product categories and social causes you are most passionate about and direct users towards a bespoke donation scheme designed to help maximize their impact.
GivingIn is a revolutionary approach to these 'low-level' ethics. Big data analytics, machine learning, and the vast power of modern APIs and computing platforms employed in our product enable users to _be better, easier _ than ever before.
How we built it
The core technical stack consists of a Flask API with a SQL backend realtional database for managing user accounts and customer information. This is also where our monthly batch jobs to process and disperse payments through Visa's API takes place and our calls to Microsofts' Cognitive Services for preference alignment.
This is exposed through a robust REST api to a frontend Single-Page -Application based on Vue.js, Vuetify, and Bootstrap.
Challenges we ran into
GivingIn went remarkably smoothly. Although our team consisted of two hackathon first-timers, everyone found a way to contribute to what become a pretty fun and exciting product.
Accomplishments that we're proud of;
The various integrations that we've built into our application didn't come easily. We're super proud of our ability to spec out and segment our project so that all team members could contribute!
What we learned;
Everyone on the team learned stuff. From first time hackathoners all the way through 20+ event veterans, we've discovered new aspects of technologies. For two of us, it was our first time engaging with REST APIs at all but both of these members made core contributions to our Visa and Microsoft/Twitter integrations!
What's next for GivingIn.
We'd love to grow this idea. We think there's a huge potential to making 'little ethics' big and that technology like GivingIn has enormous promise to overcome the decision fatigue that is behind so many of the biggest global issues we face.