How to build a bank

Laboremus Uganda

Have you ever wondered what goes into making a digital bank? Tried to build a payment app on your own and failed (or succeeded)? Curious about the systems running your bank?

On Wednesday, July 31st, we hosted a session at Outbox to give a peek under the hood of what goes into building a digital bank. The session was led by Laboremus' very own Timothy Emmanuel Kasasa and Benjamin Lutaaya.  

So how do you build a bank?  

As with any software development problem, the first thing you need to do is to understand your client, their processes and their problems. At Laboremus, we spend a lot of time trying to understand every part of our clients' value-chain before we start deciding what code to use where. Sometimes a solution to a client's problem doesn't involve any coding at all.  

When we started working with banks, the first thing we needed to figure out was how banks work.

What is the goal of a bank?  

A bank's primary goal is to make money for its owners (shareholders). They do this by getting deposits from customers and lending that money out to borrowers for a fee (interest rate). This is what banks call the net interest margin and is the most significant source of income for most banks.

To use a very simplified example: Robert deposits UGX 1,000,000 in his bank account. The bank issues a loan of UGX 900,000 to Michael at an interest rate of 15%. Result: The bank makes UGX 135,000 from Robert’s deposit.  

Needless to say, the day-to-day operations of lending out money is more complex than that. If you want to know more, you start by reading up on the money multiplier methodology here.  

For a bank to achieve its business objective – to make money for its shareholders – they need a system to keep and lend money. Everything else, like different account types for students, salaried workers and such, is just flourishing to make you pick one bank over another.  

How to build a digital bank  

At its core, a digital bank consists of the following 4 components:  

  1. A customer onboarding system – for new clients to open accounts  
  1. A loan management system – to process and distribute loans  
  1. A core banking system – to keep track of accounts and transactions  
  1. Excellent customer service – so people keep bringing their money to you instead of someone else  

When you build a bank, you deploy solutions to support these functions. Not just regular solutions but excellent solutions! The customer onboarding system, for example, should be seamless. In a Ugandan context, that means using multiple channels to reach potential customers where they are through means like agent banking, chatbots, self-service apps and the bank's website.  

Your loan management system should be easily accessible, both for customers who want to apply for a loan via their smartphone, or bank agents who wish to use a phone to register new applications.

A great core banking system is key but can also be a pain. Legacy core banking systems are big and expensive, but recently we have been blessed with light-weight versions that do the job. Check out great examples of this like mFino Platform and Five Degrees. These light-weight versions make it easier and cheaper to implement a digital strategy for a bank.  

Providing excellent customer service is more than a friendly face in the bank or on the phone. Today that means deploying self-service portals and apps that allow customers and banking agents to do everything themselves, wherever and whenever it suits them.  

Once you’ve got these four components covered, you continue to digitize, automate and fine-tune to continuously keep up with your customers' demands for instantaneous services when and where they need them.

But if you excel at delivering these 4 components, you will have a highly functioning, popular bank. Easy, right?


  • To build a bank, you need to understand a bank's business process and goals, i.e. how they make money.
  • Interdisciplinary knowledge is key to creating a solution that actually (!) solves problems.  
  • The more you automate with accuracy, the more efficient a bank becomes and the more customers the bank attracts.  

See the full session, with a coding demo, here:

Here are some photos from our session at Outbox:

All photos and video: Maren Hald Bjørgum/Laboremus Uganda.

Posted on:

Monday, August 5, 2019