Inspiration
We started with a simple question. When someone donates money to a cause, how do they really know what happens after they contribute?
Most donation platforms make it easy to donate, but following that money and understanding its actual impact can be difficult. Donors may know how much a campaign has raised, but they do not always know whether the promised work was completed or whether the funds were used responsibly.
We felt that donating should not end with a payment confirmation. People should be able to see the journey of their contribution and understand the difference it makes. That idea became the foundation of ImpactLedger.
What it does
ImpactLedger is a transparent donation platform that connects donors, nonprofit organizations, and reviewers through a milestone based accountability system.
Donors can explore campaigns, discover organizations, view their trust scores, and receive intelligent suggestions for allocating their contributions based on funding gaps and organizational performance.
Organizations can create campaigns, divide their fundraising goals into milestones, and submit documents or photographs as evidence of their progress. Reviewers can examine these submissions, view AI assisted findings, and approve or reject evidence before the payout workflow proceeds.
One of our key features is the Trust Score, which evaluates organizations based on four factors.
- Approved milestones with supporting evidence
- On time updates
- Budget compliance
- Completed milestones
The score is calculated based on the points earned against the applicable points.
$$ \text{Trust Score} = \operatorname{round}\left( \frac{\text{Earned Points}}{\text{Applicable Points}} \times 100 \right) $$
We also maintain a tamper evident ledger of important platform events. Donation receipts and visual impact tracing help connect contributions to campaigns, milestones, evidence, and payouts.
How we built it
We built the frontend using React, TypeScript, and Vite, with React Router for navigation and TanStack Query for managing API data.
The backend uses Node.js and Express, with PostgreSQL and Prisma for database management. We implemented authentication and role based access to provide separate experiences for donors, organizers, and reviewers.
We integrated PayPal into the donation workflow and developed AI assisted features for evidence analysis and intelligent donation suggestions. The evidence workflow in our current demo uses mock AI analysis, while payouts are simulated rather than actual transfers.
We also implemented ledger verification, trust score calculations, campaign and milestone management, and production deployment using Render.
Challenges we ran into
One of our biggest challenges was connecting all the different parts of the donation lifecycle. A contribution, its campaign, milestone allocations, submitted evidence, reviewer decisions, and payout records all needed to remain consistent and connected.
Another challenge was deciding how AI should be used in a system involving donations. We wanted AI to assist with analysing evidence without allowing it to independently approve submissions or authorize payouts. Keeping human reviewers involved was important to making the process reliable.
We also faced challenges with backend integration, database relationships, authentication, deployment, and testing workflows across different user roles. Getting everything to work together as one connected platform required a lot of debugging and coordination.
Accomplishments that we're proud of
We are proud of building more than just another fundraising website. ImpactLedger brings campaign discovery, milestone tracking, evidence review, trust scoring, and transaction traceability into one platform.
Some accomplishments that stand out to us are
- Building separate workflows for donors, organizers, and reviewers.
- Implementing a milestone based evidence submission and approval process.
- Developing a trust score based on measurable organizational performance.
- Implementing a tamper evident ledger with hash chain verification.
- Connecting evidence approval to a simulated payout workflow.
- Successfully deploying our backend with a production PostgreSQL database.
Most importantly, we successfully tested the complete evidence approval, payout simulation, ledger verification, and trust score recalculation workflow in our deployed backend.
What we learned
This project taught us that building a meaningful product involves much more than making individual features work. We learned how to connect frontend and backend systems, design database relationships, implement authentication, integrate external services, and handle workflows where data consistency is extremely important.
We also learned to think carefully about the limitations of AI, especially when it is used in processes involving money and accountability. AI can make a workflow smarter, but human judgment and proper verification still matter.
Working on ImpactLedger helped us understand how technical decisions, user experience, and real world problems come together when building a complete product.
What's next for ImpactLedger
We see ImpactLedger as something that can grow beyond its current prototype.
We want to strengthen the platform with more reliable AI based evidence verification, expand the payment and payout workflows with end to end PayPal sandbox testing, and improve the way donors track the impact of their contributions.
We also plan to introduce richer analytics for organizations, more detailed donation tracing, and better insights into campaign performance.
Our long term vision is to make transparency a natural part of charitable giving, where donors do not simply contribute and hope for the best, but can actually follow the impact of their generosity.
ImpactLedger. Give with heart. See the whole story.
Built With
- api
- css
- express.js
- flow
- form
- gemini
- hook
- jwt
- node.js
- paypal
- postgresql
- prisma
- query
- react
- render
- rest
- router
- tailwind
- tanstack
- typescript
- vite
- vitest
- zod