May 21, 2021

Tajiri the Kenyan Microfinance Company Providing Small-Scale Loans

Tajiri is a Kenyan microfinance company providing small scale loans to over 30,000 active users. I spoke with Meshack Mwaura, Back-end Engineer at Tajiri
Front-end App: Android Web Back-end: Node.js, Express and Java Caching layer: Redis Messaging: RabbitMQ Client: React & Redxx Sauga Database: MySQL All the logic is in the database majorly through the use of Stored Procedures

Informal workers serve as the economic linchpin in most sub-Saharan African countries. In Kenya, informal workers make up 83 percent of the total workforce and contribute 33 percent of GDP. 

For many informal firms, the largest obstacle to economic empowerment is access to capital. Microfinance tech companies are addressing this problem by lending small amounts of money to help people lift themselves up economically.

Kenya’s FinTech space, arguably the model for microfinance tech companies in Africa, has over 55 loan apps to date. However, despite good intentions, much controversy exists around microfinance’s benefits and its ability to meet its purpose.  

In a recent study, MicroSave Consulting found that 2/3 of the loans issued by nonbank lenders are delinquent, and about 1 in 10 adult Kenyans have defaulted on a digital loan.

Moreover, the next wave of microfinance companies must go beyond accessibility and offer flexible and affordable terms. With its free loan top-ups, limited fees, and flexible payment Tajiri Finance hopes to be that company for all Kenyans.

Launched in 2019, Tajiri is a Kenyan microfinance company that serves individuals and saccos in Kenya with small scale loans ranging from Ksh200 to Ksh30,000. Today, Tajiri has grown to over 30,000 active users.

I spoke with Meshack Mwaura, Back-end Engineer at Tajiri, about building Tajiri and the value it provides to the marketplace, building secure and scalable software solutions, and what Built In Africa means to him.

Meet Meshack Mwaura 

I’m a software engineer based out of Kenya, and I currently work remotely for a South African company called as a full-stack engineer. Before, I worked with some Kenyan startups, mainly in the fintech and edtech space. One being Zydii Africa, which is the Udemy for Africa. 

My tech journey started in high school with an elective class I took called computer studies, where I learned the basics of using a computer. I then took a functional programming class in third form, where I built my first app through a program spearheaded by IBM Research Center Kenya. It was very rudimentary, but it was a big thing for me because I’d never built an app before. 

While in high school, I thought I would go to university, study computer science, and then become an Android developer. But after my exams, I was called to medical school. Refusing to let my interest in programming fade, I still took some computer science classes.

Then, in the first semester of my second year, I dropped out. I took my tuition money, got myself a place, and began upskilling. I enrolled in a couple of courses on Udemy and Coursera and did a three-week technical boot camp.

Four months later, I was fortunate to be accepted into Andela as a software engineer. I didn’t tell my parents that I dropped out until after I got my first paycheck. I thought they’d be upset, but fortunately, they supported me.

What is Tajiri and what value does it provide to the marketplace?  

Tajiri is a lending platform that offers small-scale loans to Kenyans. We enable Kenyans to get easy and fast loans based on their credit score. Across Africa, money from a traditional bank usually isn’t readily available and takes too much time to approve; Tajiri addresses that problem.

We also have a B2B model where we provide saccos with a Saas platform where they can pool resources together and lend to each other, reducing the overhead required by banks. We guarantee privacy and accountability through the provision of analytic dashboards to each and every individual sacco.

One of our distinguishing features is that we offer extensions to loans. How it works is if a customer’s lending limit is Ksh20,000 but opted only to borrow Ksh5,000. If they don’t have the money to pay back when the due date comes, we offer the opportunity to still top-up and get the remaining Ksh15,000.

At one point, we were the only player in the industry offering that service, then Zenka added it. We also offer a flexible payment model. We have a one-time payment, monthly installments, and weekly installments.

Building a FinTech product 

Tajiri’s main requirements were to build a product that was accessible to most Kenyans, had flexible payment terms, and was easy to use. 

When we looked at the products available in the marketplace, like Branch and Tala, many of them had rigid repayment requirements and required a high credit score. To increase access, we provided more flexible repayment and lowered our required credit score to 630.

Regarding the fintech industry’s challenges, you have to be extra careful when money is involved and be very meticulous when writing your code. I’ll share two stories.

Immediately after launch, we realized that we had a loophole in the codebase. A user canceled the loan immediately after accepting it, then did it again four more times. The loan was disbursed each time, but the database only showed the initial loan he requested instead of all five loan disbursements. We ended up losing about $400.

In addition to updating our code to prevent this from happening, we also implemented geolocation, based on data from Safaricom, so the areas notorious for scamming could not use the app. 

Also, normally, if you lend someone money, you expect them to either underpay you or pay you the exact amount. What happened was some people overpaid. That’s something we had not taken care of in our logic. That experience taught me the importance of writing very meticulous code.

How do you approach security?

We take security seriously, we’ve had a couple of experiences where people tried to ping our servers, but fortunately, so far, we haven’t had any issues with being hacked.  

For the back-end, I use Cron Job to rotate the API key twice a week. For every client-facing app, the applications query a new one on every rotation to avoid cases where users might come across our API keys and get access to our back-end application. 

For the server our software application sits on, we use AWS and have a local on-premise server, and we are frequently changing the SSL Keys. We use Google’s SSL Keys, which, by industry standards, are difficult to decrypt.

Lastly, we don’t store our credentials anywhere and use Redis to handle the rotation, which issues a new credential every two weeks. 

Maintaining a software solution that serves 30,000+ users 

From an engineer’s perspective, I think the biggest issue at the beginning was reducing latency in the application. Meaning when it goes from 100 people on the application simultaneously hitting the back-end to 1,000 people, how do we ensure there are no delays.

To help with latency, Ingress sits in between the application and the containers that run our back-end. When it receives the front-end app’s request, it distributes the traffic to a pod, a collection of containers running our application. We also have about 12 replication containers running on Docker and Kubernetes.

No items found.

Collaborating with my mentor

I built Tajiri with my mentor George Odhiambo, a software engineer working with some of the largest banks. He and I built the back-end together, with me under his tutelage, and gave the contract for the Android application to a colleague of his. 

George and I met right after I graduated from high school; he used to work with one of my uncles. Since we connected, I’ve been under his tutelage, which has helped me grow and develop. It’s important to have someone you can look up to and reach out to if you feel stuck. 

Over time our relationship has evolved, and we’ve become friends, and by virtue of our friendship, we started working together. When he’d get a small gig that he didn’t have the time to do, he would push it to me. 

George and I work very well together. I think it’s worth noting that it’s important to have someone you work well with when building a product. And what makes us effective is that our workflow is based on our detailed task management schedule. 

We never have problems because we are both very good at setting and keeping deadlines. We operate on the mindset that if a deadline is set, it must be met. 

We’re also working on another project called Synfin that we hope to roll out soon.

Managing a full-time job and side projects 

You have to be true to yourself. I know people who have taken up like four client jobs and failed to deliver on two of them. Have the self-awareness to know when you feel overwhelmed and the courage to admit when you can’t handle both.

In my case, when we started Tajiri, I wasn’t in a position to pick up any other engagements, so I didn’t, but now that Tajiri is sustaining itself, I can. 

In fact, I don’t think I’ve logged into the back-end at any point this year. I look at the dashboard to check how things are flowing, but I’ve done nothing in terms of maintenance.

Building a self-sustaining solution is important and can help with the balance, especially if you’re building a product for yourself.

Also, make it known to the company that’s hiring you. My team at room knows that I have other things going on, but they know it’s not a hindrance for me delivering on my tasks. And that brings me to my last point. You need commitment and discipline. 

For instance, if I have four tasks to accomplish for Room, I’ll work late to finish them up so the following day I don’t have a backlog of tasks. Things happen, I could get new requests from my job, or George might call me and need me to do something. So you have to be disciplined.

The keys to being a successful software developer in Africa?  

Be open-minded. 

In the beginning, I used to tell myself I’ll never write PHP code. I thought PHP was old and dead. Then, when I got to Zydii, I found myself writing PHP. I thought JavaScript was the only way for me, but at room, I’m writing Python and Django. So have an open mind because you never know where you might find yourself. 

Be teachable. 

If I was not teachable, I don’t think I would have gotten to where I am in my relationship with George. It’s important to be open to receiving feedback and acting on it. 

Be a specialist.

This field is very versatile, and things are always changing, especially in the world of DevOps, there are so many tools to grasp. Pick one thing and become good at it; don’t be a generalist.  

Be vocal. 

Go on Twitter and let people know what you’re doing. Brag a little and show people that you know your stuff. Also, teach others what you know, and if you’re in a position to post articles on Medium or LinkedIn, do it. 


Built In Africa? What does that mean to you?

This question takes me back to my time at Andela. We had this saying, “brilliance is evenly distributed, but the opportunity is not.” There are talented engineers all across Africa; what’s missing is the opportunity for them to showcase what they can do. 

Interestingly, the pandemic has helped. A lot of African engineers have been able to get jobs as companies are now more open to hiring remotely. 

We have guys working for companies in Silicon Valley right from the comfort of their homes. And what many of these companies are finding is that engineers from Africa can perform at the same level or better than engineers from other parts of the world. 

Moreover, to me, Built In Africa encompasses all products that African engineers contribute to. Although products like Yelp or Lyft were not built in Africa, you might find that engineers from Africa are adding to the codebase. 

Built In Africa is about selling African engineers as a whole. It goes beyond the products that we as engineers ship to users; it includes everything that goes into building it, like our work ethic and perspective.

Subscribe to our newsletter

Stay up to date with our newest posts and special happening here at Built In Africa. Your information is safe with us, we hate receiving pointless emails also. :)

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.