BENMP Partner Platform

The partner management platform an international organization runs on: admins at 117 hubs upload, clean, and manage partner records across 30+ countries.

Software Engineer (part-time) · Jul 2026 to now

Scale: 16,000+ partners · 117 hubs

Results

The problem

BENMP's partners span 30+ countries, but their records lived in spreadsheets kept by hub leaders, with inconsistent names, phone formats, and church lists. The office could not reliably tell who had given, reach partners, or trust the legacy data.

What I built

The hard part

Getting clean data from more than a hundred non-technical admins who type phone numbers the way people in their own country do. The first Malawi upload failed row after row because numbers were read as Ghanaian, so a local number could silently become a wrong +233 number. I made the hub's country drive phone parsing, accepted every shape Excel produces (stripped '+', dropped leading 0), and ran the exact same checks in the browser preview and on save, so admins fix rows in place and nothing invalid is ever written.

How it fits together

Invariant: one set of rules decides what is valid, so the preview an admin sees is exactly what gets saved.

Decisions

Tech: Next.js, TypeScript, Supabase, PostgreSQL. Code

By David Antwi (david.antwi@yale.edu). Markdown version: /work/benmp-partner-platform.md. Full profile: /llms.txt.