Case study · Nonprofit Fintech · Extended engagement GivApp
A giving platform that turns donations into deposits.
Technical leadership and backend engineering on a donor-to-nonprofit giving platform — payments, bank connectivity, and the reporting that ties it all together.
GivApp helps nonprofits raise money the way modern donors actually give — recurring gifts, online campaigns, and in-person point of sale — and then gets that money into the organization’s bank account without the usual friction. We joined as contract technical lead, owning the backend and the integrations that make the money move.
- Tech Lead
- Engagement role
- Backend + Tools
- Primary ownership
- Stripe · Plaid
- Payments & banking
- React · Node · Mongo
- Stack
What we owned
The brief was equal parts engineering and judgment: build new capability, keep the existing system fast as it grew, and help steer what got built next.
- Backend services — the Node API behind donations, donors, campaigns, and recurring giving, plus the reporting and account-management tooling that organizations live in day to day.
- Payments & banking integration — Stripe for card processing, payouts, and recurring charges; Plaid for linking and verifying the bank accounts those payouts land in.
- Performance — profiling and reworking the slow paths in the reporting and dashboard queries as data volume climbed.
- Product input — bringing new feature ideas and untangling the genuinely hard integration problems, not just implementing tickets.
How the money moves
React client and Node API over MongoDB; Stripe handles processing and payouts, Plaid verifies the destination accounts.
The hard parts
Money makes everything stricter. A donation isn’t done when the card clears — it’s done when the right amount reaches the right nonprofit’s verified account, the recurring schedule is intact, and every cent reconciles in reporting.
That meant treating Stripe and Plaid as systems of record to be kept in sync, not endpoints to be called: webhook-driven state, idempotent handling of retries and duplicates, and reporting that has to agree with the processor down to the penny. The account-management and reporting tools were where that rigor became something an organization could actually see and trust.
Where it landed
A giving platform where nonprofits can take a donation any way a donor wants to give it, watch it flow through in real time, and see it settle into their account — backed by integrations solid enough that the finance side is boring, which, for payments, is exactly the goal.