USSD & Mobile Money Channels

Most of the customers a Ghanaian business wants to reach are not on an app. They are on a feature phone, on a patchy network, with no data bundle. USSD is how you reach them, and it is a genuinely different discipline from building a web front end.

A USSD session is stateless, times out in seconds, and gives you a couple of lines of text with no formatting. So the work is menu design under a hard character budget, session state held outside the request so a dropped connection can resume, and aggregator integration that behaves the same on every network rather than only the one you tested against.

This is not a theoretical capability. Our founder built and shipped a national USSD channel as a senior software engineer at previous companies, which is where the failure modes below were learned rather than read about.

What you get

  • A menu tree designed to the character limit, tested on an actual feature phone
  • Session state that survives a timeout instead of dumping the user back to the root menu
  • Aggregator integration that behaves identically across the networks
  • Mobile money collection and payout wired into the same flow

Built with

  • Node.js
  • TypeScript
  • Redis
  • MongoDB
  • Hubtel

Common questions

For a public-facing service, yes, and it is arranged through an aggregator or directly with the networks. That process runs on their timeline rather than ours, so start it early. We can build and test against a shared sandbox code while yours is being provisioned.