The challenge
Everyday bill payments across Africa are fragmented, and the failure case is worse than the friction. When a third-party biller drops a payment after the customer has already been debited, the money does not bounce back. It hangs: debited on one side, undelivered on the other, stuck until someone files a support ticket and a human goes looking for it.
TimpBills set out to build a smarter digital financial experience for everyday Africans: one wallet, one app, every essential bill, and a system where a failure does not cost the customer their money or their afternoon.
What we built
TimpBills runs on Android, iOS and the web: a Flutter app for mobile, a Next.js web app, and a FastAPI backend serving both.
At its centre is a wallet. Customers fund it once and pay for airtime, data, electricity, cable TV and flights from a single balance instead of re-entering card details for every biller. Electricity includes meter verification, so customers confirm they are topping up the right meter before money moves.
Wallet limits are tiered, and tiers unlock through identity verification. Completing a KYC level raises the customer’s wallet ceiling. Verification is not a compliance checkbox bolted on the side; it is what unlocks more of the product.
Verification runs through a third-party provider, and most of the engineering there went into handling rather than algorithms: absorbing provider latency, integrating an API with its own quirks, and keeping the flow moving so a slow upstream response never strands someone mid-signup.
Refunds that do not wait for a human
The hard part of bill payments is not the happy path. It is what happens when a biller fails after you have taken the customer’s money.
The common default is to leave the transaction pending. The customer is debited, the biller never delivers, and the balance sits in limbo until a support ticket or an overnight reconciliation batch catches it, sometimes days later.
TimpBills listens instead. The backend subscribes to the provider’s webhook events, so the moment a transaction fails the system knows; it is not waiting on a scheduled job to notice. Reconciliation fires immediately and the funds return to the customer’s wallet, typically within seconds, with no human in the loop. Support is only involved in genuinely unforeseen cases.
The effect is that failure becomes a non-event. The money is back before the customer has finished wondering what went wrong.
Outcome
Transaction success rates are high, and identity verification completes near-instantly in practice, bounded mainly by upstream provider response times. Failed payments reconcile automatically in seconds rather than queueing for support.
The full product, mobile, web and backend, went from start to launch in eight weeks.
I had the opportunity to work with your team during the development of TimpBills, and it has been a great experience.
From start to finish, your team has been professional, responsive, and committed to delivering quality work. The attention to detail, technical expertise, and willingness to make improvements based on feedback really stood out. I’m especially impressed with the KYC implementation and the overall performance of the app.
I highly recommend Beyric to anyone looking for a reliable software development partner. I wish you and the entire team continued success as you grow.
