
Proof of Purpose
Real Impact. Powered by Purpose.
Demo
About
The problem it solves **Proof of Purpose** is a community-powered platform that connects youth-driven action with verified real-world impact. We empower young people — called Champions — to complete meaningful tasks in their neighborhoods, such as clean-ups, community service, and local projects. Using blockchain-backed smart contracts, their actions are instantly verified and rewarded, creating a transparent, fraud-resistant system for donors to see exactly how their contributions make a difference. By combining Web3 transparency with real-world outcomes, Proof of Purpose builds trust, inspires action, and strengthens communities — one **Champion** at a time.
How it's made
Challenges we ran into As of April, 30th, one of the main challenges I have ran into is getting the donation flow and webhook to work correctly. As of right now, when the payment module first opens, it calls the amount to the API and sets a status of pending. This triggers the webhook event and it is logging the "PENDING" payment as a successful payment on the firebase database. It is not a major issue right now because there is no monetary value by gaining donation points at this time. I would like to have a smoother payment experience though and set up some type of subscription based model. So far the workaround for this issue would be a "payment completed" button that only shows after the user clicks the "done" button on the payment module. This calls the database and logs the donation. It also sends an email to the email address on file if there is one. Update 5/10 - Created manual replay of missed webhook to award donors with their impact points!