
Communication
Nzinga asks people for their voice and pays them for it.
Every word has to earn trust: say what happens, say what cannot be undone, and leave the decision with the member.
Voice
Nzinga sounds like a fair person who respects you: someone from your own circle who knows how the system works and tells you straight. The voice stays the same everywhere; the tone changes with the moment.
Plain
Short sentences, everyday words, one idea at a time.
"Your starting choice. You can change it on every recording."
Straight
Says what happens, including what cannot be undone and what it costs.
"Models already trained cannot forget it. You keep what you were paid."
On your side
The member decides. Copy says "you choose", "your recordings", never "we will use".
"You decide who can use it."
Warm, not chatty
A greeting in your own language, then straight to the point. No exclamation marks, no hype.
"Habari, Amara" then "Record now".
Tone by Moment
Usually this means background noise, a very short recording, or speech in a different language from the one chosen.
Rejection: what usually causes it, then the way forward.
Error: a plain title, the reason, and Try again.
Writing Rules
- Short, plain sentences. One idea each. If a sentence needs a comma to breathe, it may be two sentences.
- Title Case for screen and page titles. "Who Can Use Your Recordings", "Payout Method", "Consent and Privacy". Buttons start with a verb and say what happens: "Send for review", "Save method", "Record it again".
- The four choices use their exact names: "Only me", "Nzinga's models", "Nzinga and approved partners", "Everyone". Never shortened, reordered or renamed.
- No jurisdiction-specific content. Nothing that names one country's law, regulator, phone format or service as the rule. Country-specific parts (payouts, legal text) are modules.
- No placeholder text in anything a member can see, and no invented numbers or claims.
- The brand is Nzinga, the product line Nzinga Network.
- Example languages. When one example language is needed, use Swahili, then Hausa, then Yoruba. Do not single out any one language as the default member.
Words to Replace
Numbers, Money and Dates
Money
Always through formatMoney(minor, currency) with the server's currency: $0.42, signed in activity: +$0.42, −$5.00. Never rounded up.
Durations
Minutes and seconds as 3:12 on rows and players. In sentences, words: "Two to three minutes", "About a minute".
Dates
"Today", "Yesterday", a weekday within the week, else a short date: "28 Oct". Long form on headers: "Tuesday 3 November".
Both numbers, from the ledger, in one breath.
Hides the numbers the member needs.
Content Fits the Component
Words are part of the layout. A title that wraps to a second line by one word, or a line that ends in "…", makes a screen look broken even when the code is right. Write to the space the component gives you, at the narrowest phone (320pt wide) and with text enlarged to 1.25x.
- Every component has a budget. Choice-row title: one line, 28 characters. Choice-row detail: one line, 40 characters including the pay tag. Button label: 18 characters. Card title: two lines, 32 characters. Screen title: two lines, 36 characters. Toast and badge: 24 characters.
- Nothing sits beside a title that might wrap. Tags, prices and badges go on the second line or after the title, never in a column that squeezes it.
- Fix the words before the font size. Shorten, then restructure the line, and only then consider a smaller style. Never solve a wrap by truncating with "…".
- One line means no full stop. Single-line details and tags read as labels: "Licensed to researchers · Paid + share".
- No lone last word. The app breaks lines with iOS's standard strategy and the site balances headings, but copy should not depend on it: if a title leaves one word on its own line, rewrite it.
- Fixed names stay fixed. The four choices keep their exact names; the layout gives "Nzinga and approved partners" a full line rather than renaming it.
Licensed to researchers · Paid + share
The title has the full width. Detail and pay share one line, inside the budget.
Also licensed to resea…
A tag beside the title forces a one-word wrap, and the detail is cut off.
Languages and Localisation
- Members choose from 42 languages: the most widely spoken languages of the continent plus shared languages many members also speak. Each is stored as an ISO 639-3 code (
swh,hau,yor) with its name and a short greeting. - No language has a special place. Pickers sort alphabetically and put the member's own languages first. Dialect is asked for, with its reason: "Speech models work better when they learn each variety of a language."
- The interface itself is in English today; translation of the interface is not built.
Scripts and Direction
Arabic script
Arabic is in the list, and its greeting is set right to left. When the interface is translated into a right-to-left language, mirror the layout: back arrows, chevrons and progress run the other way; numbers and the cowrie do not flip.
Ge'ez script
Amharic and Tigrinya greetings are written in Ge'ez (ሰላም). Test on real devices that the platform font renders every character, and never fall back to transliteration without the member's choice.
Consent Is Never Machine-Translated
Notifications and SMS
In the app today
Four switches, kept on the phone: Recording reviewed, Payment, Invite accepted, New ideas to record. Sending notifications from a server is not built yet.
SMS
Sign-in codes are six digits, valid for 10 minutes, five tries. Nzinga confirms every payout by SMS before any money moves. The SMS provider is chosen per market.
- Lead with the fact, in one sentence. Name the recording by its title; never quote what was said.
- No urgency, no streaks, no "don't miss out". "New ideas to record" is occasional.
- An SMS never asks the member to reply with a code, a PIN or a payout number. Nzinga sends codes; it never asks for them.