Mark Essien


Making Nigeria into a High-Tech Place

More About Me

Always running an experiment



Previous Next

The Cchub raspberry pi that powers call-center

BaseimageI posted this picture on twitter, and got some DMs and questions as to how we use that setup to power the call-center. Here is a short description. used to use a bunch of mobile phones to power our call-center. As we reached 200+ calls/day, it became unfeasible to continue like that. There are many expensive call-center solutions, but we always have to watch our expenses and could not get any of those. Then one day, I saw this advert that CcHub was selling Raspberry Pis, and it hit me.

The raspberry pi is a tiny linux based computer that is just about as large as a mobile phone. It turns out that there is this call-center software called Asterisk that can be adapted to run on the Raspberry pi.

Asterisk is an extremely powerful call-center software that allows you do things like manage call queues, set customized ringtones, forward calls from one person to another, and importantly, integrate with your CRM (so when you receive a call, you see who is calling you).

The way it works is that you connect a router (the D-Link) above, to the raspberry (after loading Asterisk on it). You then put the sim-cards for all your lines into the router (and optionally, connect antennas to it for a better signal).

The raspberry is connected via ethernet to your router (e.g a swift modem). Your laptops are connected to the router also (and you install a software phone on all the laptops).

When a call comes in, it enters the 3g dongle, who passes it on to Asterisk running on the raspberry pi. It is then placed on the local network and forwarded to one of the computers. The way we have it - some particular numbers ring on some phone (e.g the numbers our hotel partners have ring on the hotel relationship desks only), while customer calls ring on all laptops on the reservation desks.

When a laptop makes a call, depending on the laptop, it will route it through a particular sim card.

This system also allows us record calls (for quality assurance) and to know which laptop has picked the most calls. It also allows us control the phone credit spend (over N200k/month!) and make sure the phones are not being mis-used.

If you have a call-center, you should try something similar!

How to acquire users

If you launch your product without knowing how exactly users will find the product, it will likely fail. Let me give you a short overview of some methods of acquiring users:

1. Viral: This means that your users invite other users AS A CORE FUNCTIONALITY OF THE PRODUCT. E.g Skype. This is not about putting a facebook like button. It’s about your product being fundamentally viral. Here, you face the chicken-and-egg problem though (will talk about that some other time).

2. Search engine traffic: This means your product has to have thousands and thousands of pages of content, with more being pumped out every single day. E.g, Nairaland

3. Paid: If your product does not have growth from the other categories, then you will need to pay for growth. If you are going to pay for growth, then you need to know how much it costs to acquire a single customer, and how much money that customer will bring you over his lifetime. That number has to be positive. The larger it is, the better the fundamentals of your business.

4. Sales: a subset of paid is sales. Sales is where you have a team that goes out manually to sell the product. This is common in SME and Enterprise software. Sales is very expensive. So your product has to be high priced to make this feasible. I.e, you have to increase your customer lifetime value so that the expense on acquiring that customer makes sense.

5. Platform: You can also acquire users by being part of a platform that already has a lot of users - e.g an app store. In such a case, your product will need to be very compelling, as you will compete with other similar products. Also, it is likely that you will have to keep the price of your product quite low, as the other products will quickly meet the quaility of yours in polish.

Rural Off-Grid hubs for providing power, internet, phone to communities

I have this idea. We should design a concept for a hub where one can co-locate a bunch of services for rural inhabitants:

1. Phone towers

2. Internet stations (e.g 4G devices)

3. Power-Banks where people can go and charge batteries

The hubs use a mix of solar and diesel power to keep running. This way, there is always a central spot within a certain kilometer radius where people can access the world.

These hubs are built with a modular, extensible design where additional services can be added in future as needed. For now, people can deposit batteries for charging. In future, the same hubs can be used as electricity distribution hubs. The same hubs can be used as security outposts in case of regional problems.

The idea is that a simple concept now can grow over time to provide full connectivity to all parts of the continent, while scaling for cheap.

The cost of running an office in Nigeria (for cchub graduates)

For the past few months, has been running its own office. For every tech startup that is currently in an incubator or shared space, you may wonder what the costs of doing that are. I can give you a fair idea of what your running costs for an office would be.

Before we go there, keep in mind that is a small tech company. We are not a Konga or Paga with more than 50 employees, we only have about 12 people in the office at any one time.

So, the costs:

1. Upfront costs

  • RENT: What you can afford
  • Generator: 160k (diesel) + 60k for a petrol backup.
  • Renovation: 200k
  • Desks+Chairs: 100k
  • Internet Devices: 30k
  • ACs: 150k
  • Inverter + Battery: 70k

2. Running Costs

  • Internet: 50k/month for a team of 10
  • Electricity: 20k/month to PHCN
  • Diesel: 24k/month
  • Cleaner: 20k/month
  • Building maintenance and degradation: 5k/month

That’s about it. You can use that info to calculate better if you are ready to move out of your incubator.

How the banks can legally make online payments work in Nigeria

There is a simple way to solve the payments problem in Nigeria. Every bank account in Nigeria should come with an attached “mobile money” account. Just like there is savings and current, there should be a 3rd account, “mobile money”. This account will have a fixed limit on it - for example N100,000, and is initially always unfunded. Every account has a debit card issued against these accounts.

The account has to be accessible via an API, such that transfers to and from those accounts are possible from 3rd party payment solutions, e.g PAGA. 

These are the accounts that are always used for online payments (only). When I buy credit, I use my mobile money account. When I buy airline ticket, same thing. The same account allows instant money transfers to other people via phones.

This way, there is no need for safetoken, 2-factor auth, 3-d secure and crazy authentication schemes that are killing the industry.

Type your name, card number and password and make payment immediately. If you are scared, then don’t fund that account.

The correct way to make a national identity database

Currently in Nigeria, there are at least 10 different huge databases of identity information about Nigerians. Voters Registry, Sim Card Registration, Drivers License, Old National ID registration data, Civil Servants list, etc.

From those existing databases, a single unified national identity method can be created. I want to propose a simple and straightforward way to do this.

The system

The government implements an empty database with an API where information about people can be queried. This is what will be used to create the identity list.

After that, the government will mandate that all owners of large ID databases have to validate their data against this database. The clever part is this - it is this validation exercise that will be used to populate the database.

It works this way: whenever an entry comes in, the system will attempt to find that person. A person is identified with a triplet of data:

Name, Date Of Birth, Birth Location

So let’s say a person named John Okon, born 18.02.1970 registers his Etisalat line. This info is sent to the Etisalat database. The etisalat database will further send the info to the government database. The government database will try to find the data. If it finds it, it will return the correct version of the info to Etisalat, correcting any errors Etisalat has. If it does not find the data, it will create a new entry in the database.

A year later, Mr. John Okon registers his MTN line. The same query is ran against the Govt database. It finds that data and increases the *confidence* level of the entry. This confidence level is used to figure out how good the entry is. If a person has 10 bank accounts, 5 telephones, then there is good confidence that this is a valid entry. If a person only has one phone line registered, there is low confidence in the validity of this entry.

As all the databases sync and update the govt database, extended information about the person is gathered - his phones, bank accounts, accurate addresses, etc. When he registers to vote, he can easily be validated as a genuine voter, for example.

The advantages

This system is very simple to set up. All it needs is two databases - a single identity database with a large number of columns with various info about people. The second database stores every query that comes in for future reconciliation.

Then it needs conflict resolution algorithms that attempt to match incoming queries against existing identity information. Various algorithms can be used, and even manual intervention. Over time, the database keeps improving and getting better, till at some point it’s a well maintained and groomed database.

After that stage is reached, letters can be sent out to people, asking them to validate their entries and assigning them unique identity numbers that they can always use when they interact with the government.

This system could probably be set up in a couple of months. It would barely cost anything to do.

Two years in the trenches building (Part 3)

See Part 2.

After the first 6 months of furiously building, things started running on their own. I was no longer an essential part of the process. So I took a 2 week holiday in Germany. That holiday was super-useful in discovering the parts of my process that were not working well and still needed me. I advice everyone to disconnect from the company for two weeks and observe how well it runs independent of you. If it requires you to be there, then it is not a scalable business.

So the day I came back, a tech founder friend of mine called me and said he had to tell me something important. I asked him what he was. He paused, then said: Rocket Internet are building a hotel booking website. It’s just like yours.

Rocket Internet. The guys with five hundred million dollars. Coming up against me. I had barely $70,000. I started sweating.

I had actually pitched those guys a while back to open a hotel booking website in Nigeria. I searched my email for the pitch-deck to see if it gave away anything. Reading that document made me realize how different assumptions about a business are from when you actually start the business. That would not help them.

How do we beat Rocket Internet? They had everything. Over the following week, I kept thinking about that. But then I noticed something - they kept studying us, trying to find out how we did it. They were trying to beat US.

That’s when I realised that somehow or the other, barely knowing it, we had become the largest hotel booking website in West Africa. So I didn’t have to beat Rocket Internet, they had to beat me.

If you think of it in battle terms, at this point we have two armies, both moving in darkness, trying to get as fast as possible to a particular location. The battle has not started. We were in the deployment phase, and we were far ahead.

So far, we had moved much faster than them. We had done smart things. Even when they started moving, we were accelerating faster than them by any metric you could count. And at a fraction of what they spent. Our total budget of our 20 man team was not up to the annual salary of their MD alone.

So on reflection, I understood how we could beat them. In this movement phase, I will always be faster because they have so far not demonstrated any ability to outsmart us. At some point in the future, both sides would have arrived and it’s time to start the actual battle (which involves having the site the customers prefer to use). A lot of that is based on your ability to market wisely and to build a product that delights customers so much that they market it for you. In both of those aspects, if this were something that more money means you must automatically win, then there would be no instagram or snapchat.

I don’t know what the future will bring, but I know that the team we have at is good enough to win, even against a deep pocket competitor like Rocket. They have been around for 6 months now, and barely dented our number 1 position. The way we move will make it stay that way.

The hassles

When you are doing something that is changing the way an old and established market like the hotel industry in Nigeria is, with a lot of old rich men involved, you will face a lot of people who do not understand what you are trying to do.

We have faced a lot of hassles from different sectors - from the troubles our inventory guys face to the banks not understanding our business to the police trying to find out more about what we do, to our cars getting arrested.

This is Nigeria. This is Africa. This is normal. My advice: Have backup, have friends in high places, because if you truly disrupt, you will need their help to solve problems.

The reason so many foreign companies came to Africa and left again is that they could not deal with the problems. You have to know that there will be major problems, and you just solve them and keep going, without ever being distracted from the mission and vision.

Firing People

It’s not easy to work with someone in close proximity for many months and then fire them. But the role of the CEO of a company is that of a care-taker of a company. You are there to do the best for the company. If a person genuinely cannot contribute to a company, a CEO is obliged to lay the person off.

I think it is better to just maintain a high standard when hiring and fire fast if you must fire. Because we are all humans and all kind - when you know someone well, you may be hesitant to do what’s best for the company because of pity.

The tech scene

What we are building is not in isolation, it’s in the middle of the tech scene. This scene has been invaluable for the company and for me. I have never been a big fan of Lagos, but the fact of the matter is that this is where Nigerian tech is going to be. It will cluster in Lagos and likely in Yaba area.

Since coming to Lagos, I have met a large number of the “twitter famous” people. Each of those people have straight-up provided me with ideas or information. And those words really made a difference.

I strongly believe that technology is so complex and wide that without being in a community, it can never really take fruit and become something significant in the countries economy. One person discovers something, tells someone else. And the second person can use that info and connect it to solve a problem with his business.

The Nigerian tech community is small, but it is helpful. It needs to grow so that we can build a real technology industry here in the biggest African country. The success of technology in Nigeria will determine the success of technology across the rest of Africa, and in my opinion, I think any continent that is left behind in technology industry will forever fall behind in the global economy.

These small apps and websites we are creating now are important for this continent. They have the ability to change and transform it. They are what will create the future industries. So no matter what, we must never stop trying to build a local technology eco-system.

Final Words

Building has been hard. But it’s worth it to look at the site/business and see it working. See people booking hotels every day and it all somehow keeps running. All of this was done with the help of a larger technology eco-system, people who were willing to risk capital and the persistence and hard work of the team.

It’s been a good two years. Looking forward to the next two!

Two years in the trenches building (Part 2)

See Part 1 for the story before this.

How has it been building a tech startup in Nigeria? Everyone always on the outside tries to show how their startup is doing awesome and taking over the market and all what not, but that’s not how it is on the inside.

The past two years have been like climbing a mountain - blindfolded. To do what we are doing, there is no roadmap. There is no book teaching how to create something that has never existed in this market before. So it was all experiments and trial-and-error. I never knew what would work and what would not, so we would need to spend to test out different things to find what seems to work good. And even when you find something that works, you need growth, so you need to find what works even better.

From composing the teams, deciding how to approach hotels, getting people across 36 states in Nigeria, figuring out how to book hotel rooms with hotels without internet, and even the small stuff like getting our own internet working, it has all been a journey of uncertainty.

Getting started with $50k

Our initial raise was $75k, of which $25k went to buy a car (to close deals in Lagos). So we had $50k to deploy people across Nigeria and pay a team of 12 people. That’s N8 million. At the time, I though that it would be more than enough. But quickly I realised that things were far more expensive than you think they are. If you have N8mill for 6 months, you have about 1.3m per month. Salaries will take half that money. Developer will take a big chunk. Data purchase another big chunk. The money will finish very rapidly.

So we had to do another raise with Spark, this time $150k. In the first 6 months, the sheer amount of things that needed to be set up and built meant that it would have been very hard to build the neccessary relationships to raise any kind of investment from other parties.

My take-away from the initial raising money is this: If you are going to raise money for something complicated, make sure the money will last at least 1 year. You will need 6 months to build a lot of the processes and start generating revenue and another 6 months to build the relationships you need close your next round.

The initial building process

When we first started, I had no idea how to build a team. I had never been in any kind of managerial position with more than 4 people. Initially, we had the system where everything was being controlled by me. After some wise advice from Victor Asemota, I split up into smaller units with team leaders. This was far more efficient and resulted in better performance.

Jason and Bastian were very helpful in this phase - they had far more experience than I in managing and hiring, and looking around at what was going on and discussing things with them helped clarify a lot of what the approach should be. Jason told me one of the other useful things I learnt, which is that a low performer in one field can become a high performer if you swap their job roles. So (forgive me for this, co-workers), a lot of the initial stages was me moving people around till I could find a good person/job-fit.

During this period, we had to figure out how to make things work. Now it seems so obvious in retrospect how to book hotels, but back then I genuinely did not know. I did not know how to fulfill a booking efficiently, how to approach the hotels to strike a commission deal and how to invoice the hotels in a way that would ensure that they paid us.

And most importantly, how do you do this across 4000+ hotels without getting confused with the amount of info you are dealing with? The first 6 months was just about building the processes, building the software systems we needed to manage this, figuring out how to field deploy people, etc.

The key take-aways from this period to me is: The things you do internally, they may seem super easy when you have figured them out, but they are not easy to discover. You cannot copy a company from the outside. Also, very importantly, a word is enough for the wise! When you have a problem, someone with far more experience can tell you just one word and it will make things suddenly fall into place. Talk to people who have more experience than you in the things you are doing!

See Part 3.

Two years in the trenches building (Part 1) is about two years old now. In the first year, it was just a website - no business built around it. It started off by me purchasing lists of hotels. The entirety of hotels that were available in any known dataset that was available in public or in any government archive was about 1500 in Nigeria. I listed them all on the site and put the site up. Only 100 of those hotels had pictures. The pictures were scraped from the hotel websites.

In October 2012 I moved to Nigeria to try to build a business out of this hotel booking website. I landed, rented a flat in calabar and convinced a friend of mine, Charles, to join the project. I and Charles hit the streets of Calabar and started snapping photos of the hotels in Calabar. Soon we had the largest online list of hotels in Calabar. But none were yet bookable.

We coded a booking form one day and bought a company phone. We turned on the booking form and put the phone number on the site. We received 20 bookings for hotels in various parts of Nigeria that day, and had 100 missed calls on the phone. We could not book the hotels yet and we barely had time to address all the queries we received, so we took the number back off. We kept the booking form, but nothing would happen when people booked.

Some time later, Jason Njoku wrote me a message on Facebook that he was starting an investment company called Spark and that he wanted to invest in I went to Lagos, we had a 30 minute meeting on a hot balcony together with Bastian, then I returned to Calabar. The next day, they made an offer. A bit of negotiation and in January 2013 received funds from Spark.

In the last 1 year, I used the investment money to build into a company. We have 15 full-time staff, 5 contract staff and more than 70 ad-hoc staff. Those 70 people went everywhere in Nigeria and got hotels on our site. We now have 5080 hotels on the site. We have full pictures for 4000+ of all those hotels. We have addresses and driving instructions for all these hotels - we have massively accelerated the move of an African industry online.

The total value of the bookings that we have done for hotels in Nigeria on our website alone is currently 2.3 million USD. That value was generated without spending any money marketing the site. By its very existence, it is useful and people patronize it without us needing to tell them to use it.

By the end of the year 2013 we hit $40k in monthly revenue. I will follow up this post with other posts detailing how the process has been.

See Part 2 here.

Why people don’t like to type

Running analytics on my website has shown something I did not previously realize, people will go through convoluted steps to be able to click rather than type.

I’ve thought about it and I think I understand. When a person navigates to a website, his hands have left the keyboard and are holding the mouse. Releasing the mouse and moving the hands to the keyboard is a process that costs actual energy. Thinking about what to type requires mental effort. If you spell the thing you are looking for wrong, then you need to repeat those steps. So people prefer to hold on to the mouse and click.

Back to Top

Ask me anything

Previous Next
Back to Top


Previous Next
Load More Photos
Back to Top