Why global design systems break down in African contexts, and what we're building to fix it.
Material Design is excellent. So is Apple's Human Interface Guidelines. But neither was designed for the conditions most African digital products operate in.
When we started experimenting with Mfumo, a design system for African digital products and one of our Lab experiments, we catalogued the specific ways global design systems fail in African contexts. The list was longer than we expected.
Language is the first issue. Many African markets are multilingual by default. A Kenyan user might switch between English and Swahili within the same session. Some markets need RTL support for Arabic. Component layouts that assume a single language with predictable string lengths break when a button label goes from "Submit" to "Wasilisha maombi".
Typography compounds the problem. Many popular web fonts have limited coverage for African languages that use extended Latin characters or non-Latin scripts. A design system that defaults to Inter or SF Pro looks polished until it encounters a character it can't render and falls back to a system font mid-word.
Then there's connectivity. A design system that loads 400KB of JavaScript for a component library assumes that bandwidth is cheap and reliable. In most African markets, neither is true. Every component needs to be tree-shakable. Every asset needs to be optimised. Every interaction needs to work before the JavaScript finishes loading.
Device diversity matters too. The assumption that users have recent iPhones or Pixel devices doesn't hold. A significant portion of African web traffic comes from Android devices with limited RAM and older browsers. Components need to be tested on actual low-end devices, not just simulated ones.
Finally, there are interaction patterns specific to African markets. Mobile money payment flows, USSD-style menu navigation, dual-SIM account selection — these are common user experiences that no global design system accounts for.
Mfumo's aim is to treat these as first-class concerns rather than edge cases: Responsive typography that handles multilingual content. A component architecture that prioritises progressive enhancement. Payment UI patterns for M-Pesa, Airtel Money and MTN Mobile Money. And a testing framework that includes low-end Android devices and throttled connections in its default configuration.
These problems are shared. Every agency and product team building for African users runs into them, and a shared foundation would mean less time solving infrastructure problems and more time on the ones that are specific to your product.
Related services
Tell us about your project. We'll show you what's possible.