S

Selected work · 2025 – 2026

Back2School

Type

Child-sponsorship platform

Duration

9 months

Year

2025 – 2026

Role

Frontend Developer

Outcome

One profile component shared across three surfaces

Tools

  • Angular
  • TypeScript
  • Tailwind CSS
  • Supabase
  • Chart.js
  • Azure

A child-sponsorship platform carrying real profiles of out-of-school children in Nigeria. You read a child's story, then sponsor their full education or make a one-off donation, and every contribution is tracked and reported back. Three surfaces: the public landing page, a sponsor dashboard, and an admin dashboard for the team on the ground.

Back2School carries real profiles of out-of-school children in Nigeria. You read a child's story, then either sponsor their whole education or make a one-off donation, and every contribution is tracked and reported back rather than disappearing into a general fund. The site claims over a thousand children supported and eight years on the ground.

Three surfaces in Angular: the public site where the profiles are browsed, a sponsor dashboard, and an admin dashboard for the team doing the work. Supabase holds the data, Chart.js draws the reporting, and it runs on Azure. Nine months, which a platform handling other people's donations deserves.

Inside Back2School

Back2School explore profiles page listing children available for sponsorship

The page the whole platform rests on

Back2School carries real profiles of out-of-school children in Nigeria, and this is where a visitor meets them. Each card gives a photograph, an age, one line of the child's own story, and the amount raised against what a year actually costs, with filters above for the situations the organisation works across. Nothing else on the site matters if this page does not work: a donor who cannot find a child does not become a sponsor. The funding bar is on the card rather than one click deeper for the same reason, since knowing a child is at 20% is often what decides it.

Back2School section offering full sponsorship or a one-off contribution

Two ways to give, weighted equally

Full sponsorship against a one-off contribution, side by side and given the same visual weight. Sole sponsorship covers a child's annual cost and comes with verified updates, progress photos and term reports. The other is any amount, once or monthly. Charities usually push the larger commitment and treat the smaller one as a fallback, which makes the smaller giver feel like a lesser one. Presenting them as a genuine choice is a fundraising decision as much as a design one.

Back2School donor dashboard in its empty state

The empty state, because that is the first screen

Shown exactly as a new donor sees it. This is the screen most people meet first and the one most often left undesigned, so both panels say plainly what will appear in them, and the single call to action is Find a child. An empty dashboard that explains itself keeps someone moving; one that just says No data sends them away.

Back2School sponsorships page showing totals and an empty state

Totals in place before there are any

The same discipline a level down: no sponsorships yet, one clear route out of that state, and the two figures a donor will eventually care about, total donated and total outstanding, already laid out at zero rather than hidden until they have a value. Outstanding matters here in a way it does not on most products, because a sponsorship is a commitment across a school year rather than a single payment.

Back2School saved profiles page with bookmarked children

Designed around how the decision is really made

Sponsoring a child is not an impulse purchase. People shortlist, think, talk to someone, and come back days later, so bookmarking is a first-class feature rather than an afterthought. Each saved card keeps the funding progress and annual cost visible, so the choice can be made from the list without reopening every story. Three surfaces share this data, the public site, the sponsor dashboard and the admin panel, and the child profile is one component across all three so a profile cannot say different things in different places.

← All work