Nzinga Network ยท Design System

The Nzinga Design System

How Nzinga looks, sounds and behaves. The principles behind every screen, the brand, the words, the accessibility rules, and the components the phone app is built from. Every rule here points to the file it comes from.

Your language. Your voice. Your terms.

What Nzinga Is

README.md SPEC.md apps/mobile/lib/consent-copy.ts

Nzinga is an invite-only phone app for African languages. Members sign in with the phone number they already have, join with an invite code from someone they know, and record voice notes in their own languages.

For every recording, the member chooses who can use it. There are exactly four choices. Recordings that are shared and accepted are paid per accepted minute, and when partners license recordings, part of that income comes back to the member.

Friends are found by comparing scrambled phone numbers. Contacts are hashed on the phone, and the server keeps none of them.

The name comes from Njinga Mbande, who in Luanda in 1622 refused the lower seat and negotiated as an equal. The mark is a cowrie: the shell that was money, with its opening drawn as a voice.

Who Can Use Your Recordings

Your starting choice. You can change it on every recording.

How to Use This System

Start with the principles: they decide what a screen may ask for, what it must explain and what it may never do. Then use the brand and communication pages for how it looks and sounds, and the foundations, components and patterns for how it is built.

PrinciplesPrivacy, sovereignty, social, culture and fair pay. The why behind every rule.
BrandThe cowrie, the wordmark, Nzinga Electric, type and icons.
CommunicationVoice, tone by moment, writing rules and languages.
AccessibilityContrast, targets, text size, screen readers, low bandwidth.
BuildFoundations, components and patterns, then check the screen guide.

When two documents disagree, the code wins. Tokens live in apps/mobile/utils/color-theme.ts, app/contexts/ThemeColors.tsx and tailwind.config.js; member-facing consent words live in apps/mobile/lib/consent-copy.ts. This site is written from those files.

What Is in the Repo

README.md

PathWhat it holds
apps/mobileThe phone app (Expo SDK 58, React Native, NativeWind, Expo Router), built on the Luna template's component system.
apps/apiThe API server: sign-in, invites, contacts matching, recordings, consent, review and earnings.
packages/coreShared rules used by the server and the app: consent, invites, contacts matching, the earnings ledger, profiles.
consent/The consent text members are shown, one file per version (draft for legal review).
docs/siteThis site: one page per section, sharing site.css and site.js.
docs/dsnzinga-ds.css, the web reproduction of the app's components that every live example here loads.
docs/screen-guide.htmlThe visual spec: every screen, clickable, with what it is built from.
docs/logoThe brand page and the generator for the mark and wordmark.
SCREENS.md, SPEC.mdThe screen map, and the product and technical specification.

Principles at a Glance