All Posts

Hurdles in Developing for the Developing World

Over the past few years, I have been developing applications and APIs for Users in developing countries. Most of this time was spent across Rabat, Lagos, Kampala with trips across many countries in East Africa. In my experience, there is a distinct difference between developing applications for Users in the developing world than in first world. This comes down several factors including legal restrictions, user base and technical infrastructure.

As a developer and someone involved in product development it was necessary for me to be onsite talking to the end User in person. This is standard work for most product managers or technical leadership in an organization but unfortunately like most technical projects we were short staffed. The goal was to build a digital financial system for non-bank financial institutions (NFBI).

Traditionally, these types of institutions are primarily made up of micro-lending groups known as SACCOS and VSLA. These groups are small, democratic and, community-based where elected leaders act as a treasury bank where members can deposit and take loans using almost anything of value as collateral. The average membership of these groups range from 10 to 200 people, with the largest around 400,000.


As these institutions grow they can become larger and more efficient with their transactions garnering interest. It would be easy to mistake a developed NBFI as a local credit union or small bank as they grow into have multiple store front branches in retail locations.

In Kenya alone, there are 16m of these types institutions and 50m+ across East and West Africa.

Current Systems and Users

When first learning about the project I was intrigued by how these systems were managed by spreadsheets on the institution side and paper & pen passbooks for the members. If you have some knowledge of accounting, you can see where there can be problems with fraud, forgery and balanced books.

A great majority of members in rural areas are illiterate and in Uganda 52% of the population are educated at a high-school level. This is was a major hurdle to overcome when designing a digital system for users. The most neglected members were the rural populous as they would have to travel 6-8 hours by bus to a larger, neighboring village to make transactions at the financial institution or wait several weeks for the next time a representative could make the trip.

Internet access was limited to a 3g network with uploads and download speeds of 4MB/s. Data itself is a major expense to these families where 600MB of monthly usage would cost around 3 USD. Another limited factor is the average wage in rural areas ranged from 2-10 dollars a day.

The other half of the Users were comprised of SACCO management that would be using our web application to record transactions, calculate loan interest rates and, fees. These types of Users were university educated or had a background in finance. On the other hand, offices outside the city had poor or limited internet access. This proved to be a software hurdle for application performance where we would have to use service workers to limit and push offline HTTP transactions. On the hardware side, the installation of Wi-fi range extenders were used to maximize the access across a handful of kilometers.

Caveats and Leverage

  1. Mobile Phone adoption was high despite showing low rates of computer literacy. This meant, they that people could text but not type or use computer programs.
  2. The prevalence of USSD-based systems phone and mobile money systems. USSD has low-cost data transactions at 5c - 12c USD per a session as UC2 coding allows a maximum of 80 characters per a message.
  3. Using a team of local engineers to lower the cost of application development at the cost of knowledge and experience. This would free up budget space for the necessary hardware to meet our KPIs.
  4. Creating a network so User would be able to access our system was critical for project success.
  5. Data protection agencies including most ministry of finance in East African countries requires all data to be stored within countries. The majority of the individual clients within the program requested a copy of the data be stored on site, in their offices. This meant we couldn’t leverage cloud-based hosting providers.

Through much time, energy and perseverence the team was able roll out an application with close 1.5m Users including staff using cloud-based application that connected to the best possible network through a series of wifi network extenders. SACCO members were provided a data credit to be able access their basic banking needs through custom USSD codes linked to our servers. Server infrastructure was set up so data was served within country, keeping with financial regulation laws.

During this time, we saw our customer onboarding grow from 10 to 40 members, which was neccessary for training not only SACCO staff but to conduct workshops in villages for members.

Within this post, I tried not to explicity name any of organizations involved on the project as it is ongoing and privately funded.

I’ll continue to write more about my experience and new projects. Some of which are based in West Africa