culture
· · 3 min readWhy Five African Minerals Drive the Nyuchi Design System
Cobalt, tanzanite, malachite, gold, terracotta. Five minerals, five regions, one design system that holds up in midday Harare sun.
By Bryan Fawcett
Most design systems pick their palette from a Pantone mood board. The Nyuchi Design System picks its palette from the geology of the continent it serves.
The five minerals are:
- Cobalt (
#0047AB) — Katanga (DRC) and the Zambian Copperbelt. Deep blue. Primary actions, links, the colour of the digital future. - Tanzanite (
#B388FF) — Merelani Hills, Tanzania. Violet. Premium, brand identity, social features. - Malachite (
#64FFDA) — Congo Copper Belt. Brilliant green. Success states, growth, positive indicators. - Gold (
#FFD740) — Ghana, South Africa, Mali. Honey-warm yellow. Achievements, rewards, warmth. The Nyuchi brand mineral. - Terracotta (
#A0522D) — Pan-African Sahel. Earth-warm sienna. Community, grounding, heritage. The Bundu Foundation mineral.
Why this matters more than it sounds
A palette is not a marketing claim. It is an architectural commit. Once you ship a design system grounded in named regional colours, every product downstream has to respect them. The cobalt of a primary button in Mukoko is the same cobalt that highlights an active row in a Nyuchi clinic dashboard. The palette is a contract between the brand and the engineering.
Each mineral carries:
- A canonical hex (light + dark mode)
- A container tone for soft fills (
bg-cobalt-container) - An on-container tone for accessible text on that fill
- A region of origin
- A symbolism note
- A usage rule
Designers and engineers query the canonical values from the Nyuchi
Design Portal at https://design.nyuchi.com. The MCP server at
design.nyuchi.com/mcp lets AI coding assistants query tokens
directly. The marketing website mirrors them in CSS custom properties
(one place — no hardcoded hex anywhere else in the codebase). Every
product then consumes the variables.
The portal currently ships 561 registry items — components, blocks, and charts — all installable via the shadcn CLI:
npx shadcn@latest add https://design.nyuchi.com/api/v1/ui/button
What gets enforced
- No hardcoded numbers. Raw hex outside the canonical token files is a CI failure (we run a token-consistency lint on every PR).
- No default Tailwind colours.
bg-red-500is rejected; use a semantic token (bg-error) or a mineral (bg-cobalt). - Containers always pair with
on-container. Abg-malachite-containertext block must usetext-malachite-on-containerto keep contrast above APCA Lc 90+. - Border radii are ecosystem numbers: 7, 12, 14, 17. Buttons are always pill (
rounded-full).
Why mineralogy, not flag colours
A few reasons:
- Flags are nationalist signifiers. A pan-African ecosystem built on one country's flag teaches every other country it is secondary. The minerals span the continent.
- Minerals are universally legible. A Tanzanian and a Ghanaian both recognise tanzanite and gold without translation.
- Minerals carry their own narrative. Cobalt's history runs through the entire Congo and Zambian Copperbelt — a complicated, important story we are happy to surface in our software.
- They look good. A palette has to ship. The Five Minerals system passes accessibility on cream and on charcoal, holds up against APCA contrast checks, and reads in midday sun.
Where to read more
- Live design tokens and components: https://design.nyuchi.com
- MCP server for AI agents: https://design.nyuchi.com/mcp
- Source: https://github.com/nyuchi/design-portal
If you want to use the Nyuchi Design System in your own work, the
schema and the values are public. The @nyuchi/ui npm package
provides Tailwind 4 design tokens and utilities for the Five African
Minerals palette. The MCP server and the design portal are the
source of truth.