Inspiration

While were brainstorming ideas, we came across the thought of charities and noticed after you donate money you often don't get to see the results of the charity and people often wonder if charities are just a scam. This sparked an idea in us to create a platform using the technology of blockchain and smart contracts to make sure that charities using this platform give frequent updates whenever they can to their donors.

What it does

Our web-app platform is friendly user interface that allows donors and charities alike to easily sign up and work together. The platform works on a community based consensus, where charities will set reasonable goals and will provide updates on the progress to that goal through photos, descriptions, videos, and other sources of proof. Funds are withheld from the charities until they've met their goals. Users on the platform will have the ability to cast a vote to decided whether or not they think the charity has done well enough to deserve fund, and when they reach a certain threshold of votes the funds will be released to them.

How I built it

The core tech of this web-app platform is smart contracts. The idea of this platform is not for the developers to make money and to remain as decentralized application, so we decided to take the approach of making a smart contract that will generate smart contracts. What this means is that we do not generate the smart contracts, instead we developed a Main smart contract that will generate the smart contracts and this makes it us a trustable platform. The smart contracts that are generated by Main smart contract pertain to each specific charity, acting as a temporary agent that withholds the funds until the threshold is met, if its met then it'll release the funds, otherwise if the threshold is not met on time the funds are released back to the donors.

Challenges I ran into

Solidity is a whole new concept to programming. It takes a functional programming approach, so just even wrapping our heads around the concept of it was a huge learning curve. Solidity also has hundreds of different versions, this meant that finding a tutorial or documentation on the same version as you was very difficult and the syntax for Solidity massively differ from version to version.

Accomplishments that I'm proud of

As a team we were all satisfied with our roles, we divided the work up evenly, and we were all able to contribute to the project. It's often hard to be able to say something like that honestly, but this was the first time that we felt like we were actually working on a project that had the potential to impact the world and we were all passionate about completing it, that's why we all worked hard to contribute.

What's next for CharityTrust

We don't know if we'll continue to develop the platform as a team, however atleast one member will continue to work on this project even after the hackathon because it's something that should exist.

Share this project:

Updates