Cross-border remittance app
Frontend on SendAfrika, a peer-to-peer currency swapping app where a mistyped field costs someone their money.

Context
SendAfrika lets people swap currencies peer to peer and move money across African markets. It is live on Google Play with 500+ downloads. I work on the frontend as a full-time remote engineer with the team in Lagos.
The problem
- Money movement is irreversible, so the interface has to make the wrong action hard and the right one obvious.
- Repeated flows across the product were drifting apart visually and behaviourally.
- Every state that matters is an edge case: a rate moving mid-flow, failed verification, a partial error from an upstream API.
What I did
A shared component library
Reusable, accessible React components so the same input, confirmation and error surface behave identically everywhere they appear. Consistency is a correctness feature when the stakes are financial.
Design for the failure states
The success path is the easy half. Most of the work is in what the interface says when verification fails, a rate moves, or an upstream call half-succeeds.
Figma to production
Taking designs to shipped interfaces without losing the intent, and flagging early where a design will not survive real data.
Integration against real API behaviour
Wiring the frontend to the services behind it, and handling what they actually return rather than what the docs promise.
Calls I made
Confirmation before irreversibility, every time
In most consumer apps an extra step is friction. In remittance it is the difference between a support ticket and a lost transfer.
Centralised the primitives early
Cheaper to fix an input component once than to chase the same bug through five screens.
Where it landed
- Live on Google Play with 500+ downloads.
- Shared component library in use across the product.
- Consistent handling of verification, rate and error states.
- Ongoing: full-time frontend engineering on a live fintech product.
Open for work
Got something that has to work on a bad connection, in a real shop, with real money?
Open to full-time remote roles, freelance projects and collaborations. Tell me what you are building and I will tell you honestly whether I am the right person for it.