We were inspired to create the most efficient system to encourage philanthropic behavior in the current technological day we live in. While technology develops exponentially, how charities operate has remained relatively stagnant. Because of their sedentary nature, charities miss the opportunity to capitalize on digital funding, in turn, leading them to not be able to support real people who need their help. It is this tragedy that inspired the creating of sur+ in a hope to rectify it.
What it does
Sur+ combines crowdfunding and gamification to maximize philanthropic behavior. At the start of the week, users are presented with charities who have asked for gifts. For example, a charity that works with foster children might ask to get a bicycle for one of their kids. Once a user finds a project which they like, they select it, locking them in as a sponsor for that project for the rest of the week. Then, throughout the week, we monitor their bank transactions, and upon detecting a transaction charge the user an extra 1% of their purchase. It is this extra charge, or surplus, which the app donates to funding the project the user has chosen to back. Finally, at the end of the week when the funds have been raised, the user receives a note or image from the person or charity who they aided. In essence, Sur+ provides a convenient and fiscally low entry point to charity, with actual feedback and immediate gratitude for donors.
How I built it
Sur+ was built primarily using Xcode and Swift. To manage the database and perform user authentification we used Firebase. To monitor user's transactions we used the Plaid API and to make charges to users we used the Stripe API. Additionally, we used node js to create an endpoint for charities to add their projects.
Challenges I ran into
The first challenge that we ran into was setting up the Plaid API. None of the team had used this API before, and hence, as it is relatively complicated, there was lots of learning and adjusting which needed to be performed on the fly. What made the Plaid API challenging was the number of authenticated tokens which had to be generated. In order to gain access to a users transactions, we would need to spin up and verify 6 unique tokens. The next challenge that we ran into was integrating the database with the front end. There wasn't anything particularly challenging, instead, it was just the normal difficulties which are associated with merging code bases.
Accomplishments that I'm proud of
We are proud of the idea which we came up with. We honestly do believe that sur+ could change the protocol for how charities fundraise and could indeed help lots of people. The next thing that we are proud of is the size of the code base that we developed. There were only two of us on the team, yet we were able to create a 500 line database and have 5 fully functional views in addition to monitoring bank transaction and about 10 other controllers.
What I learned
I personally learned a lot about swift. This was the first time that I had ever done a full project in swift and the first time I had worked with firebase in swift. We also learned that file structure is essential to plan out and that modularization is key to success. Most significantly we learned it is very easy to underestimate the scale of a project.
What's next for Sur+
We hope to finish fully developing the app, however, we are so enthusiastic about the idea that we have already reached out to major charities in Boston. We have already contacted and are in communications with Charity Warriors, a charity which aids other charities to fundraise, about a shared partnership in the development and deployment of Sur+. We truly think we have an idea which can benefit the world, and we want to see that benefit come to fruition.