Nairobi Tech Hackathon

By Christine Wasike,

Moringa School Staff.

Winning Team
Adopt- a-seedling

Nairobi Tech Week (NTW) was a great opportunity for me to interact with amazing Tech enthusiasts and developers from all across the city and beyond. I was mostly involved in the hackathon though I did attend a couple of talks such as the Microsoft Azure tech talk. The hackathon was the most memorable part of NTW for me. We worked on building projects from the ground up. This was to be done in  time span of only 24 hours. Different problems in line with specific technologies were posted to us and we were to pick one and work on it with the specified technology to which it was attached.

AngelHack were the proud sponsors of the event, giving us, the participants a back story on how the competition works and how it all started. We also learnt about the awards we would get based on the problems we would choose to solve. I was in an all-girls group named ALGALRITHM. We are young girls with ambition and the will to put in the work needed to make our country more tech friendly.

Christina, the main organizer from Angel Hack

The project we worked on and eventually built a prototype on for, is called Adopt-A-Seedling. It is a web app that enables its users to plant a seedling from the comfort of their own homes or workplaces. Our target audience is individuals and companies looking to put in money to save the environment but lack connections to effectively ensure that their money is actually put to the right use.

Once on the application, a user can purchase as many seedlings as they would like through Visa direct and get a notification that their seedling has been reserved for planting in a specific location in their country through a messenger bot. They could also choose whether  or not to receive a notification once their seedling has been planted or not.

Hackathon 33
June and Cynthia busy hacking

The experience was quite the learning experience, having to push one’s mind and body into completing a working project prototype in 24 hours. We won the hackathon and got amazing prizes along with it. I would highly recommend participating in hackathons for any junior or middle-level developer looking to gain exposure in coding.


Traits that make a great technopreneur

By Nancy Momanyi,

Moringa School Staff


The technology scene in Africa is on the rise with Nairobi being one of the cities at the forefront of technological advancement. There are so many tech enthusiasts interested in turning their idea into  a business. Almost everyone with sufficient knowledge in software development wants to be a techpreneur. A technopreneur or techpreneur is an entrepreneur who gets a technology idea and finds an opportunity to make it a commercial reality. There are several characteristics that make a good techpreneur.

Recently at a panel discussion that was held at Moringa School various key players in the tech industry gave their insights on what it takes to make a good techpreneur. These are the major areas that they focused on when talking about their experiences both as techpreneurs and investors:

1. Understand your customer and then build around that. Creating an amazing customer experience differentiates you from your competitors.- Sam Gikandi, CEO at Africa’s Talking

2. The only way your business can compete effectively with others in the market is through execution. Several people have similar businesses but what makes you stand out is how you execute your idea.-Irene Hu, a Principal at Open Capital Advisors (OCA)

3. Quality, timeliness and consistency are critical for your business. Always keep commitment to your clients for your business to grow.- Caine Wanjau, CTO at Twiga Foods.

4. When you are starting a company it is important to bootstrap for as long you can. The earlier an investor gives you funding the more control they have over your business. -Irene Hu, a Principal at Open Capital Advisors

5.You need to identify what stage your company is before approaching an investor. If you are at seed stage you need a lot of mentorship- Yacob Berhane, Head of Growth and Investment at mSurvey

6. Before creating a product it is important to look at the problem creatively and finding a solution. Technology should be used to scale up the business once you have already identified how to solve a problem. – Caine Wanjau, CTO at Twiga Foods

7. It is important for a founder to be able to sell the vision of a start up to the team.-Muraya Kamau – Managing Director at Devient Limited

8.  Having the right skills and the right team around you is very important for an entrepreneur. Investors look at the strength of a team when valuating your business. – Irene Hu, a Principal at Open Capital Advisor

No great achievement in life is possible without persistence. A great techpreneur will stay positive because the odds will always be against taking the first leap of faith. Persistence in techpreneurship means sticking to the mission regardless of long or hard the road seems.

A Day in the Life of a Programmer

By Moringa Core 7 Graduating class

Becoming a good developer takes so much more than learning how to write good code. Here is what the graduating class had to say about their experience at Moringa.

Programming was always an abstract concept for me during my campus years. However this changed after an introductory course to programming which drove me to look for the best way to learn programming. Moringa school came in highly recommended by friends. During the Immersive course I was able to fall in love with problem solving as it gave me satisfaction to find solutions, regardless of how trivial the problem was. The course was project based; one learns through building applications. This allows one to grow the self-learning skills, and this was a highlight for me – a platform to allow me to learn how to learn and not just reproduce information. – Joshua Kodhe


From the time I was in campus I have always been interested in programming but my degree involved majoring in both statistics and computer science. I thus could not focus on my programming fully and that made me believe that programming was hard. After campus I read a book on  growth mindset and that revived my passion and the mindset towards programming. That drove me into learning Ruby on rails on my own for 4 months. After a few months of not getting far with my skills, I decided to join Moringa School.The past six months I have been in Moringa school have taught me that with the right mindset you can achieve anything. By building applications that have helped solve various problems, I am now more than ever able to view problems not as threats but as opportunities for growth. -June Muoti

When I started out in Moringa School I had some basic knowledge in coding however, just a few weeks in Moringa taught me that there is so much more in programming than I thought. The skill that I value most of all from Moringa school is the ability to adapt and learn new technologies as well as how to debug my applications.I would therefore recommend Moringa School to both beginners and those familiar with coding techniques.- Seth Muriuki


My journey through Moringa has been something different. Definitely not what I’m or most people are used to. Its been challenging at the same exciting. When you learn to grow around people with the same beliefs and motivations as you, you get to have a different perspective on things.That’s what Moringa has helped me achieve. It’s no walk in the park, but its really accomplishing and you become self-aware about what you want.- Andrew Kimani


Qualities of a Good Programmer

Article By,

Nancy Momanyi

Moringa School Staff.


The tech ecosystem in Kenya is rapidly growing and the number of students who consider taking a career in software development after high school has greatly increased. As much as technical expertise is important there are a lot of factors that employers look out for when searching for new tech talent in their companies. A candidate with quick learning ability, leadership skills and great attitude is what most tech companies are looking for.

There is a popular belief that you need to have a background in computer science for you to be good at programming. Doing computer science gives you a better understanding of computer architecture and gives you a better understanding of the world of programming but you should also have the ability to self learn. Read a lot of articles on the latest technologies and tech blogs. There are also numerous online resources that can help you get better at your skill.

Team work is one of the most important skills that a good programmer should posses. There a few coding boot camps across the globe that use a collaborative learning model. Here in Africa we have Moringa School a top coding accelerator where you are able to sharpen your programming skills through pair programming. This is working in pairs on a project. This prepares you for the real work environment where you will be required to work as a team to solve a problem.

Current Moringa School students working on their final projects

A good programmer will always develop systems with the user in mind. It is not enough to learn programming concepts. Your main focus should be to make an app or website that is solving a real world problem.  Industry leaders like airbnb,uber, amazon and netflix are redefining the standards for customer experience. A great programmer wants to know whether the features they’re building has high value to the customer.

Lastly it is important for programmers to have great time management and task management skills. This will enable you to estimate how much time it takes to complete a task and know how to deliver projects to clients on time. Always under promise and over deliver when you are working on projects to gain credibility.

Nairobi Tech Week is Back!

Published by Nancy Momanyi,

Moringa School Staff.

NTW Banner

Moringa School is once again excited to host the 3rd Edition of Nairobi Tech Week, Sub Saharan Africa’s largest tech event, whose aim is to bring all actors and influencers in the tech ecosystem in one space, fostering conversations and learnings around various relevant technology-related topics.

Theme: “The Role of Technology in Problem Solving for Africa’s Future.”

  Date: Thur., April 19 – Sat., April 21, 2018

Venue: Strathmore University

This year, in conjunction with the title sponsor; Microsoft, Nairobi Tech Week presents a 3-day event packed with panel discussions, workshops and a hackathon with incredible prizes to be won.

Other sponsors include Visa, Facebook, Safaricom JUMO, Github, Liquid Telecom,Google and iBizAfrica.

For the first time, Nairobi Tech Week will host Nairobi Tech week Awards, in a bid to recognise companies playing influential roles and driving impact within Silicon Savannah.

“Our aim is to launch a community-driven tech event focused on developers, thought leaders within the tech space as well as the best innovations in Sub Saharan Africa” says Sandra Mukidza, NTW’s main event organiser.

Moringa School is pleased that several key organisations have come forward to partner with Nairobi Tech Week; iHub, Africa’s Talking, Swahili Box, AngelHack, M-Power, CBO and Metta. In previous years Nairobi Tech Week has had global title sponsors like Facebook and Twitter

Applications for Nairobi Tech Week are open from March 19th, 2018 to March 31st, 2018. Nominations for the Tech Week Awards are also open on the same day.

Apply for your ticket to this years Nairobi Tech Week 2018 here and also place your Tech Week Awards nomination here.

Living a Life

MS Logo 3D  2

By Raini Sydney,

Moringa School Student.

Whatever a mind can conceive and believe,it can achieve’, I frankly don’t know who said this words, but they are true. It is believed that we only use 10% of our brain’s potential during the course of  “our” lives ( I dispute this). But to those who don’t, what about the remaining 90%? Why don’t they use it? What stops them from using it? The simple answer is “Themselves!”

When we were born in our early years, we had no limits:We did things without fear or inhibitions. With our innate knowledge, we tried discovering new things. But some people grow and forget how sweet it was to try new things as a baby, without any fear of failure.

Very few people know how powerful the mind is. It is the greatest tool somebody can possess. And children really know how to try using the tool in many things, some that are considered insane. But somehow, there are people who really seize the opportunity and make massive use of their mind.

Majority of those who make “massive” use of their mind have made great creations, have invented and designed things that have changed the world. Others have made their lives happier and have had more fun. Think of Campayo Ramon,who can memorize 17 numbers in half a second; Ki Peek,who knew every zip-code in the USA, and the crazy Chao Lu who memorized 67890 digits of pi with 100% accuracy. These all are all to do with memory, but it shows some of the things we are capable of.

It’s only a week since I was introduced to serious coding and I feel like it’s the greatest thing that ever happened since sliced bread, something that compels you to think ‘without a box’.channeling energy towards creativity, adventure and fun. It makes use of the inactive brain potential that some people are afraid of putting into use. You work without fear, without any inhibitions, but with an open mind that reflects the power of art;Creativity; in human life.

It is at Moringa School that we’ve decided to rediscover fun that we had as kids, trying out new ideas with confidence. Seizing opportunities to create solutions. And having no excuse to limitations that have bound others. We are not just learning at Moringa School, we are living a BIG LIFE!

Setting Up WakaTime on Emacs


By Carol Wanjohi,

Moringa School staff.

As a programmer, tracking the amount of time spent coding is essential and vital. Thereby, increasing and validating the importance of a plugin such as WakaTime.


   def WakaTime:

       open-source plugins for text editors that measures coding time for programmers

Setting up WakaTime on most text editors such as Atom and Sublime Text is pretty straightforward. However, for Emacs, especially for a an Emacs beginner, it is a totally different story.

After successfully setting up WakaTime on other text editors, I thought that for Emacs it would be a walk through the park. Sadly, that was never the case. I spent nearly 6 hours setting it up. In the process, I learnt more about Emacs.


Before setting up WakaTime for Emacs there some requirements that are essential.


  1. Python
    • your machine should have Python installed. To confirm whether your machine has Python you can run the following command in your Terminal

   python —version

  1.   Emacs version 24 or higher
    • since this installation process will be using MELPA, an Emacs package installer that only works with Emacs version 24 or higher

This installation process will be for a MacOS.

Getting started

Most Mac’s come pre-installed with Python. So, we can go ahead and install Emacs for those without it.

To install Emacs you can use Homebrew. If you do not have Homebrew you can use this link to install Homebrew.

After installing Homebrew, you can use it to install Emacs with the following commands

brew update

 brew install emacs –with-cocoa

brew linkapps emacs

Homebrew will install the latest stable version of Emcas, that means it will be higher than version 24. Next, we need to connect to the Emacs installed by Homebrew. This means we are going to create an alias for it, so that when you invoke emacs it will run the newly installed version of Emacs

alias emacs=”/usr/local/Cellar/emacs/24.x/ -nw”

After creating the alias, we can confirm the version of Emacs we are connected to by running the following command

emacs –version

Installing MELPA

After installing and connecting to Emacs, we can now install MELPA, a collection of packages compatible with Emacs.

To open Emacs you can type


This gets you into the Emacs text editor. Next, we will find the init file for Emacs

Press Ctrl + X (C-x)

Press Ctrl + f (C-f)

Type the following path to the init file for Emacs


This will open the init.el file and you can add the following code so that you can install MELPA

 (when (>= emacs-major-version 24)

          (require ‘package)


            ‘package-archives ‘(“melpa” . ““)


    After that, you can save and close your Emacs text editor


   Press Ctrl + X (C-x)

    Press Ctrl + S (C-f)

Press Ctrl + X (C-x)

   Press Ctrl + c (C-c)


Now, you can go back to Emacs and confirm that packages from MELPA are connected to your Emacs




   Press ESC + x (M-x) list-packages


A list of packages from GNU and MELPA will be displayed


Installing WakaTime


Now on to the good part, installing WakaTime plugin to Emacs.


   Press ESC + x (M-x)


   Type: list-packages


Scroll through the list of packages and search for a package called wakatime-mode. After locating it, type i and x. This will install wakatime-mode. Now you can exit emacs


   Press Ctrl + X (C-x)



   Press Ctrl + c (C-c)


So, we need the WakaTime cli for Emacs to connect with the WakaTime plugin properly. To set it up you can run the following commands in the home directory


   pip install wakatime


This will command will tell Python to install the WakaTime cli.


Next, we need to set-up Wakatime cli in your Emacs init.el file




   C-x C-f ~/.emacs.d/init.el


   # Add the following code to the bottom of the init.el file



Setting up WakaTime on Emacs


   Press Ctrl + X (C-x)


   Press Ctrl + S (C-f)


   Press Ctrl + X (C-x)


   Press Ctrl + c (C-c)


Now, you can set-up the WakaTime API key by doing the following:




   Press ESC + x (M-x)


   Type: customize


Navigate to the form field


   Type: wakatime-api-key


   Press Tab key


   Press Enter


To navigate to where you should enter your WakaTime API Key, use the arrow keys on your keyboard. After keying your WakaTime API Key, navigator to the [Apply and Save] section and Click Enter.


Now, you just need to exit Emacs for the changes to apply.




To confirm if your WakaTime API Key is set you need to open the init.el file




   C-x C-f ~/.emacs.d/init.el


Another way of confirming your WakaTime API key is




   C-h v wakatime-api-key


Now you can log into WakaTime to confirm if your text editor has been linked to it. So, I hope everything has been connected properly and happy coding.