Skip to content
Ventures

Fund for Charity

Built and readyFrom 2026

Orphanages in Nigeria are hard for donors to find, and there has been no trusted way to give to them. I co-founded Fund for Charity and built the platform: a directory of verified orphanages where one donation splits between the orphanage and the platform, across two currencies, at the same moment.

Choosing an amount to give: switching from pounds to naira and picking a preset, with the fees and the estimate that reaches the orphanage updating

What I did

  1. Company

    I co-founded Fund for Charity and lead its technology as Director of Technology.

    Part of it

  2. Product design

    I designed all three environments and validated them as Figma prototypes before any code.

    All of it

  3. Brand identity

    I designed the brand identity.

    All of it

  4. Architecture

    I designed the architecture: clean architecture inside a modular monolith.

    All of it

  5. Development

    I built the whole platform, frontend and backend, as its only developer.

    All of it

  6. Payments

    I built the split payment through Flutterwave.

    All of it

How it works

  1. Find

    A donor finds an orphanage in a directory where every listing has been checked on the ground in Nigeria.

  2. Give

    They give once, from the UK or anywhere else.

  3. Split

    At the same moment, the donation splits. The orphanage's share goes to its own account in Nigeria and the platform's share to the UK, each in its own currency.

  4. Run their side

    Each orphanage manages its place on the platform from a dashboard of its own.

  5. Run the platform

    The platform itself is run from an internal admin system.

In the browser

  1. 01Three environments

    The public donor platform, the orphanage management dashboard and the internal admin system, each validated as a Figma prototype first.

    • React 18
    • TypeScript
    • Vite
    • Tailwind CSS v4
    • Framer Motion
    • React Router v7

The API

  1. 02Access

    Role-based access for three user types: donors, orphanage administrators and platform administrators. OAuth 2.0 with Google and Apple sign-in.

    • Auth0
    • OAuth 2.0
  2. 03Backend

    Clean architecture inside a modular monolith. MediatR handles each request as a command or a query.

    • ASP.NET Core
    • .NET 10
    • C#
    • MediatR
  3. 04Data and hosting

    PostgreSQL through Entity Framework Core, Redis for caching and rate limiting, and documents in Azure Blob Storage. Containerised with Docker on Microsoft Azure.

    • PostgreSQL
    • Redis
    • Azure Blob Storage
    • Docker

The payment gateway

  1. 05Flutterwave

    The donor pays once. Flutterwave routes the payment across the two currencies, with the conversion done automatically.

    • Flutterwave

Settled at the same moment, in two currencies

  1. 06Orphanage subaccount

    The verified orphanage's share settles in its own subaccount in Nigeria.

  2. 07Platform commission

    The platform's commission settles in the UK, in the other currency, in the same transaction.

Simplified. One donation is shown. The Nigerian operating company's verification work and document uploads are left out.

Where it stands

It is built and ready.

It covers orphanages in Nigeria and giving across the UK to Nigeria corridor, and it is built so that it can grow beyond the two countries.

Donors, orphanage administrators and platform administrators each sign in to their own side, with Google or Apple sign-in as an option.

  • 3

    Environments: donor platform, orphanage dashboard, admin system

  • 3

    User types, each with its own access

  • 2

    Currencies settled from one donation, at the same moment

Built and ready.

The scope is orphanages in Nigeria and the UK to Nigeria corridor. The architecture is designed to grow beyond it.

Orphanages are verified on the ground by the Nigerian operating company, and the directory lists verified orphanages only.

Built with

ASP.NET Core (.NET 10) and C#
The API
MediatR
Commands and queries
PostgreSQL and Entity Framework Core
Data
Redis
Caching and rate limiting
Auth0
Sign-in and roles
Flutterwave
The split payment
Microsoft Azure and Azure Blob Storage
Hosting and documents
Docker
Containers
React 18, TypeScript and Vite
All three environments
Tailwind CSS v4, Framer Motion and React Router v7
Styling, motion and routing
Figma
Prototypes and components

In pictures

Browsing verified homes: location filters and a grid of orphanage cards with fictional names, each with a Donate buttonThe browse page with measurements laid over it: type sizes, the card radius and size, the gap between cards and colour swatches
An orphanage's own dashboard: totals, a chart of donations over six months and recent donations. Its name and the user's name are covered.
The admin system's platform overview: finances in pounds, counts of orphanages, donors and children supported, recent transactions and recent orphanages, with the orphanages' names covered
The payment step, switching between card, transfer and bank, with the fee shown before paying
A donor's dashboard: totals given in pounds and naira, orphanages supported, donations made and recent activity, with the donor's name and the photos covered
Explanation

Hi. Tell me your name and I will use it now and then as you look around. It stays on this device. I never collect it, so not even I will know.