Skip to Content

Want to learn to build better apps? Go to Africa!

By May 23, 2016

Cross posted from Medium

It’s a hazy morning in Kigali, Rwanda, the sun and low clouds are playing their eternal game of hide and seek in the sky. The city, a modern bustling place stretching across hills and valleys, wakes as shopkeepers sweep the stoops of their stores, gardeners tend sidewalk gardens, and motorcycles zip back and forth like a frenzied swarm of bees. I take a sip of my morning coffee, savoring the taste. African coffee tastes different. The earthy tones are more pronounced, the crops harvested only a few hours from here. I took a deep breath, pausing to reflect on the experiences of the past week.


I arrived in Kigali ten days ago to work with Fruits of Hope Academy, a small, local primary school. The plan, along with other volunteers from Salesforce and Team Hope, was to teach the children and teachers computer skills, and build the school a new website and student admissions system. I’ve been to Africa before, building mobile apps for nonprofit organizations in Kenya and Uganda. I learned a lot from these previous trips, this trip was no different. Africa always challenges your expectations. Anyone that has traveled to Africa will likely agree with me. This place gets under your skin, and I leave the better for it, every time.

Focus on the future

RawandaOur first day at the school began with an introduction. We met the teachers and described our goals for the week. I introduced myself and asked that everyone treats our time here as a partnership. I wanted to learn more about their school, the students, and the culture of Rwanda. We have come to teach, but we have come to learn as well. That’s the sweet addiction of travel: you’re constantly experiencing and learning. It’s a rush I find hard to satisfy back home.

For the travel obsessed, Africa is paradise — everything is a new experience. The continent has such a rich culture, and Rwanda, still scarred from the horrific genocide it’s people endured 20 years ago, is using their experience to focus on the future. Every one of the teachers at the school were dedicated to preparing the kids for a future of prosperity and unity. I realized then that my goal, when designing and building the app wasn’t to make the best academic system I could, but build an app that enabled a closer partnership between the teacher, parent and student.

Children in RawandaA school administration system is important, but it only exists to helps to the teachers provide a better education for the students. Geoffrey Moore called this Core vs. Context. Education was the core, the app was contextual. The true measure of success of any app should be how much easier it allows a user to do the thing they want to do. Take Uber, for example, I don’t use it to book a ride, I use it to get to a destination. For teachers, the destination is the success of their students. This focus on the desired future state — arriving at your destination with Uber, finding inspiration on Pinterest, exposing political unrest on Twitter, or teaching students in Rwanda — is critical to the success of any app.

Progressive, but achievable, policies

Rwanda was not what I expected. It is a clean, safe, and modern society with economic growth of around 8%. This doesn’t mean Rwanda is without problems. The country is still heavily reliant on the neighboring countries of Kenya and Ethiopia for energy, regularly paying a premium literally to keep the lights on, and poverty and welfare are major issues. Despite these issues, Rwanda appears to understand the need for progressive, but achievable policies. This is something we can all learn from. And something I wanted to include in my app design.

Prior to arriving in Rwanda, I had spent four weeks in Spain walking the Camino de Santiago. (I’m currently working on book about my experience on the Camino. If you are interested in being notified when it is published, please follow me on Medium, or subscribe to my website). Every shop I visited packed my purchases in at least one plastic bag, frequently multiple bags. By the end of my trip I had lost count how many times I had said “no plástico bolsas por favor” (No plastic bags please). In Rwanda, no-one uses plastic. Even the kids at school brought their lunches in aluminum containers or paper bags. Rwanda’s policy towards waste is truly enviable.

This progressive policy stretches to conservation and education too. Tourists visiting the mountain Gorillas made famous by the pioneering work of Dian Fossey, are only permitted to spend an hour with the incredible animals in an effect to protect them from the effects of excessive tourism. Schools, who struggled to achieve the one laptop per child policy implemented by the department of education, can now satisfy government requirements with one lab per school. Students continue to benefit from access to computers, but poorer schools are no longer penalized for non-compliance. Successful policies are those that can be achieved by the majority, not the minority.

Trailhead training

I took this notion of progressive policies into consideration during the design of the academics app. I knew that I could write some code to enforce logic rules to prevent teachers entering incorrect data, or auto calculate grades, but such a policy would not be sustainable. It would be the digital equivalent of a plastic bag — it works great, but eventually it destroys the environment. In this case, the environment was the app.

If I built an app only I could maintain, the benefits of the system would erode to a point where teachers would avoid using it. My solution was to build most of the app using declarative tools that teachers could drag and drop. They could use these same tools to easily enhance and modify the system long after I had gone.

Build apps

Out of all of the apps I have built for emerging nations like Rwanda, about 50% of them have made heavy use of drag and drop tools. I am yet to discover a magic formula that guides the decision when to use programmatic vs. declarative tools, and often the best strategy is to use a mix of both. What I have learned, however, is that any app creation policy should be progressive and achievable for long term sustainability. Without such a policy the longevity of your app will suffer. Don’t build a plastic bag app!

You are never too small to make a difference

After a busy week working with teachers, building apps, and playing with the kids during recess, the team regrouped to recap on our accomplishments. Some of the children from the school, whom we had grown close to over the week, performed a traditional dance, inviting each of us up to participate. We moved and swayed in the tropical heat, an infectious drum beat keeping us mesmerized.

Finally, the children stopped dancing, voices drawing low. Fred Buyinza, the enigmatic principal of the school, stood up and addressed us all, thanking everyone for their help. During his moving speech, Fred quoted an African saying which I had never heard before:

“If you think you are too small to make a difference, try spending a night with a mosquito.”

I quickly jotted the saying down, playing it over and over in my head, unable to let it go. I looked around the room. I saw the faces of teachers, of students, and volunteers. We were from a dozen nationalities, and different religions, all with with completely different backgrounds. And none of it mattered. What mattered was that a group of individual people wanted to make a difference in someone’s life.

Lake Muhazi

As I write my rough notes that eventually became this piece, the sun is setting over Lake Muhazi. I’m watching my fellow volunteers from Salesforce, with whom i was so fortunate to meet and work with this week. We stare silently watching the sunset, the surface of the lake shimmering gold, day acquiescing to night’s embrace. Nature’s miracle performed again and again.

I smile to myself, the persistent buzz of mosquitos rising on the gentle breeze. The mosquito is so small, you usually can’t see it until it stays still, but you can never ignore it. Fred was right. Perhaps my app won’t change the world, but it will make a difference. And tomorrow I will write another one, and then another, and another. Every time, I will remember the lessons I learned from Rwanda.


Learn More About Salesforce Volunteering