← Back to Onafriq

Onafriq · Design system

One brand, every product

When MFS Africa became Onafriq, the new brand had to show up in every product the same way. I co-led the design system that made that happen, owning the variables, tokens and documentation behind it.

MFS Africa is now Onafriq. Where there's access, there's growth. Over an aerial photo of a busy roundabout
Company
Onafriq, formerly MFS Africa
My role
Product designer, co-led the design system
What I owned
Variables and tokens, documentation, components
Timeframe
2023–2024

01

Under one roof

MFS Africa had grown far beyond mobile money. It had become a payments network across Africa and beyond, and its products had grown up separately: different screens, different patterns, different ideas of what the brand looked like.

The rebrand to Onafriq was a chance to bring all of it under one roof. A new logo and colours would only go so far on their own. The design system was how the new brand actually reached every product, from the consumer app to the tools businesses use every day.

From MFS Africa to Onafriq

02

One shape, everywhere

If there's one thing that makes Onafriq recognisable, it's the curve. Every holding shape keeps three square corners and rounds one. It softens a grid of hard edges, so the brand feels open and approachable rather than rigid.

It follows a simple rule: the curve is three times the margin. That meant it could be rebuilt at any size, from a billboard to a sidebar, and still look like the same shape.

The curve rule: (margin) × 3 = curve
Navigation
Photography
Layouts
Product

The same curve in the navigation, the photography, the layouts and the product.

03

Brand foundations

The brand guidelines set the tone for everything else: an optimistic yellow, a deep charcoal to ground it, and two digital accents for moments that need more colour.

Brand colours
Radikal, the brand font
Type sizes follow the headline: ½ for subheads, ¼ for body
Photographic style
“Our brand imagery should demonstrate the positive impact we are making on the lives of the people we serve.”Onafriq brand guidelines

04

Product foundations: Zuri

Zuri was the design system behind every Onafriq product. This is where most of my work sat: turning the brand into variables and tokens that designers and engineers could build with.

Colour

Each brand colour became a full scale, from 050 to 900, so screens had enough range for backgrounds, borders, text and states. Yellow 500 stayed the hero.

Yellow, charcoal and grey scales

Tokens

I set up the variables and tokens. Instead of picking a hex code, a designer picks a role, like “Primary button” or “Text & icon default”, and the token points to the right colour. Change the token once and every screen follows.

Tokens name the job, not the colour

Typography

One typeface, Radikal, in a clear scale from H1 at 34px down to 12px labels and links.

Heading scale

Icons and flags

Line icons with a touch of yellow, and a set of country flags for the markets Onafriq works in.

Icons
Markets

05

Components

Navigation was the component every product shared, so it had to be right. Each item has a state for everything a user can do to it, and the sidebar ends in the brand curve.

Sidebar states, from default to selected
The full navigation sheet. Click to zoom in
Page item states, up close

06

Patterns

Components only go so far. Patterns show how they work together in a real moment, including when things go wrong. Uploading a document is a good example: every state a user can land in is designed.

Upload: ready, dragging, added, adding, not supported
Banners for success, error, warning and info
Filter modal

07

Handing off to developers

A design system only works if what's in Figma is what ends up in the product. Because I set up the variables and tokens, a big part of my job was making sure engineers could pick a component up and build it without guessing.

I also sat with developers in Storybook to review the built components and check some of the tokens against the designs. It was a quick way to spot where the code and Figma had drifted apart before it reached users.

Every component came with

  • All its states, side by side: default, hover, selected, open, disabled and error.
  • Token names, not hex codes, so colour and type came straight from the system.
  • Spacing and sizes taken from the same scale every time.
  • Usage notes: when to use it, and when to reach for something else.
  • Real content and edge cases, like long names, empty lists and files that fail to upload.

One name, from design to code

TokenValueIn use
Primary buttonYellow 500#F0F000Save
Text & icon defaultGrey 800#242729Payments
Brand charcoalCharcoal#2F3234Sidebar

Designers and engineers used the same names, so “Primary button” meant the same thing in a Figma file, a ticket and the code.

08

From legacy to new

Not everything was built from scratch. Some components already existed and needed to be brought into the new system. Tooltips are a good example: the same job, with clearer hierarchy and a stronger primary action.

Legacy
New

09

In use

Put together, the foundations and components give every product the same feel: the charcoal sidebar with its curve, yellow for the main action, and the same type and spacing throughout.

Wallet groups
Payment approvals

10

Impact and what's next

  • One visual language across Onafriq's products, instead of the brand being patched on screen by screen.
  • Change once, update everywhere. Because colours were tokens, a brand change became one change, not hundreds.
  • A shared source of truth. Documentation meant designers and engineers worked from the same components and names.
  • Beyond the product. I also produced marketing assets that carried the rebrand across social channels, which helped lift engagement during the transition.

A design system is never finished. When I left, parts of Zuri were still being built out, and new components were being added as products needed them.