Coding the infrastructure for commerce in developing countries

Fitting modernity into an old paradigm – how 400 million people were given mobile bank access in developing countries

As the world population approaches 8 billion people, the number of people connected to the world by cell phone has been skyrocketing. It is estimated that almost five billion people have a cell phone today; more than have access to a modern toilet. This rapid expansion of the mobile infrastructure that ties us together is providing incredible new opportunities for developing markets and is helping much older technologies and industries penetrate where they have previously been unable to reach.

Consider that two billion people in the world have no access to a bank account, and are very limited in their financial freedom because they don’t have access to banking facilities. Without a bank, it is hard to move and safeguard the money you have, but it also limits your potential to earn money. For two billion people in the world, this lack of banking is creating a barrier to their growth and their quality of life. In developing and rural areas, where reliable internet access is still far in the future, it may be incredibly difficult to travel to the nearest bank, and unrealistic to make frequent trips. So what can you do?

1.7 billion of the people without access to a bank account did have access to a mobile phone

This was what our client set out to solve, a mission we have taken great pride in supporting for 8 years. Our client realized that 1.7 billion of the people without access to a bank account did have access to a mobile phone. The vision was simple, but execution would require some remarkable engineering under arduous constraints:

  • Make banking possible on a feature phone with limited access to only a GSM network.
  • No smartphones. No apps. No 3G. Incredibly limited data transfer.

The challenge is to squeeze as much of modernity as possible into a very limited interface. Using a protocol called USSD, or Unstructured Supplementary Service Data, that’s normally used for simple things like checking your phone balance via text message, Softhouse helped our client create an entire mobile money and banking solution that made it possible to transfer money between friends and relatives, send money back home, conduct business and keep your money safe. When a user sends a text instruction to the telecom provider, the message is sent to a dedicated cluster of machines that execute the instruction and send back information to the user. The user’s cell phone, outdated by the standards of modern smartphones, gets to act as an interface to a modern and much more complex distributed computing solution handling over 33 million transactions every day.

Today the system is used by 410 million people

“I worked in the telecom industry, with development and architecture, for 16 years before joining Softhouse,” says Tobias Jönsson, a Softhouse engineer that joined the project last year. “It’s been very fun working with the Softhouse team, and I’ve learned to use a lot of new tools and technologies already, like IntelliJ, Gradle, Git and Gerrit.”

Today the system is used by 410 million people on both feature phones and smartphones across the developing world, in hard to reach locations in Africa and Pakistan, and has dramatically improved the economic vitality and quality of life in these places. It is a project we are proud to have worked on, and another great example of why we believe that Softhouse makes you grow. By applying talent with a purpose, we’ve helped change the world for the better in some of the most underserved places, helped our client provide a life-changing service to 410 million users, and we’ve learned a lot along the way. It’s been a challenge for our most experienced engineers, and a place to cut your teeth and learn for many of our new recruits that got to work on changing the world straight out of school.

Tobias Olandersson, a Softhouse engineer involved with the project, highlights how providing both the right competence and attitude to the client is important. “From day one we made clean code a priority and made sure that code review was an integral part of our workflow, even during crunch time. ”Our attitude that all code must be reviewed eventually spread to other teams in the organization, and as a result, the quality of the overall codebase has improved.”

”Our product is our company culture”, explains Softhouse CEO Bengt Gustavsson. ”The way we cultivate the right competence and the right attitude makes us a valuable partner to our clients, a force for good in our community, and a great place for us to work and grow.”