
MyDigitalParents
Sponsor a future, one fee at a time: anyone, anywhere, can fund an African child's education.
Families in underserved communities can't cover school fees, and would-be sponsors abroad have no trustworthy way to fund one child's education and see where the money went.
Built the operations side (Next.js front end against a NestJS backend) of the sponsorship platform: an admin dashboard where the team manages sponsorship applications, campaigns, the pooled funds account, the students being supported and the digital parents sponsoring them.
Next.js 16 App Router with React 19 on the front end, backed by a NestJS API (TypeScript, PostgreSQL). TanStack Query handles server state and cache invalidation, Zustand client state, Base UI headless components and Recharts funding and sponsorship reporting. Organised into feature modules: applications, campaigns, funds pool, students, digital parents and auth.
Server state is cached and invalidated per module, so a newly approved application updates the students list and the funds-pool totals without a page reload.
The App Router and feature-module layout keep a multi-role admin surface maintainable; TanStack Query removes hand-written loading and refetch logic.
Turning sponsorship into an accountable pipeline: application to approval to sponsored student to funds movement, visible in one dashboard.
Scaling sponsored education across more communities and countries.
