Overflow
A multi-channel nonprofit giving platform that helps organizations accept and manage donations across cash, stock, crypto, donor-advised funds, pledges, recurring giving, roundups, and offline gifts.
Overview
Overflow combines donor-facing donation flows, nonprofit admin tooling, payment processing, reporting, reconciliation, and third-party integrations into a unified giving infrastructure platform.
I contribute across the TypeScript monorepo, spanning NestJS backend modules, public API schemas, domain events, queue-backed jobs, React/Next dashboard workflows, donor-facing experiences, shared types, design system components, tests, linting, and developer tooling.
Impact
- Contributed across backend services, frontend apps, shared types, design system components, tests, and tooling.
- Expanded Overflow public API capabilities across donor profiles, payment methods, contributions, campaigns, subscriptions, one-time charges, response semantics, filters, and typed metadata.
- Helped deliver location-aware giving, reporting, exports, dashboard access control, and reusable permission abstractions for multi-location nonprofits.
- Built and refined nonprofit dashboard workflows for locations, funds, subfunds, API keys, user management, settings, giving links, pledge campaigns, gift entry, and reconciliation.
- Strengthened backend architecture with CQRS handlers, domain events, saga error handling, queue-backed jobs, repository filtering, test coverage, and type-safety improvements.
Dashboard Product Screens







Giving Flow Product Screens




Tech & Constraints
- TypeScript
- NestJS
- React / Next.js
- CQRS
- Domain events
- Job queues
- OpenAPI
- AntD
- Biome
The key engineering challenge was making complex nonprofit financial workflows safer and more scalable across product surfaces: donor checkout, admin tools, public APIs, permissions, reports, exports, reconciliation, third-party sync, and background jobs.