Three apps, three jobs, one flow of money. The sender, the merchant who gets paid, the agent handling cash deposits on the street corner — each needed their own interface, without the system falling apart.


A mobile payment ecosystem in CFA francs, built around three separate apps that handle the same flow of money.
The customer app: balance, transfers to saved beneficiaries, mobile data bundles and airtime, bill payments, QR code payments, full history.
The merchant POS: a software payment terminal. The merchant generates a QR code or enters the amount manually, gets paid, and tracks transactions.
The agent app: the interface for physical deposit points, where cash and e-money are exchanged both ways.
What the project really required
In mobile payments, the design challenge isn’t smoothness: it’s certainty. At every step, users must know exactly where their money is.
So I treated intermediate states and failures as screens in their own right, not as variants: transfer in progress, summary before confirmation, transfer successful, transfer failed, payment pending, OTP accepted, OTP rejected. Out of roughly 70 screens, a large share doesn’t describe success — and that share decides whether a user trusts the service a second time.
The most systematic principle: nothing irreversible without a summary. Every money movement goes through a confirmation screen before it runs.
Designing for the field
Decisions driven by real-world use rather than by the mockup.
The “I don’t have the app” button on the QR payment screen. The merchant is equipped, the customer isn’t always. Without that way out, the transaction simply stops.
Manual entry alongside scanning. Not every phone reads a QR code properly, and a merchant can’t lose a sale because of it.
Settings also include profile management, a light/dark theme, a built-in FAQ, the user’s personal QR code and account deletion.
Visual direction
Orange and white, a dense yet airy interface. Amounts are the heaviest typographic element on every screen — users should read their balance without reading anything else. A consistent colour code for transactions: green for incoming, red for outgoing, with the status written under each amount rather than shown as an icon.
Role: UI/UX design — complete flows and component system
Tools: Figma
Scope: 70 screens · 3 apps (customer, merchant POS, agent). Transfers, purchases, QR codes, bills, deposits/withdrawals