Better products. Better people. Better tomorrow.
Ebenworks is a company. In time, a group of companies — across industries, across continents — bound by one promise: every company we build exists to serve people the world stops short of seeing.
The unseen. The underserved. The marginalized. The merchant the bank can't see. The grandmother nobody calls. The kid the system has written off. We don't choose problems by market size — we choose them by who's left out of the picture. Whatever the next Ebenworks company is — software, hardware, services, hospitality, education, anything — the test is the same: who does this serve, and would they otherwise be invisible?
The mission is the constant. The industry is the variable. Every company we build, regardless of what it ships, has to honor these. If it doesn't, it doesn't belong in the group.
Not "consumers" in general. A specific population the world has stopped short of seeing. If you can't name them in a sentence — informal SA traders, Korean seniors living alone, the next group — the company doesn't belong in the group.
We don't talk in market-language. Not capturing, not monetizing, not TAM expansion. The work is service-shaped, not yield-shaped. We name the people the work is for, in a sentence.
"Making lives better" is not a slogan. It's a number, a shift, a thing you can point to. A SA merchant has a credit profile she didn't have. A Korean grandmother has fewer days of silence. Every new Ebenworks company defines its own measurable on day one.
Whatever the surface — a WhatsApp message, a voice call, a corner shop, a bus stop, a kitchen — meet people on what they already have. Don't ask them to come to us, in any form.
Pre-pilot is pre-pilot. Year one is year one. We don't dress up the present. The credibility is in saying it plainly — to users, partners, regulators, investors.
Software today. Tomorrow could be hospitality, agriculture, education, hardware, retail, healthcare — anywhere the unseen are. The thread is the user, not the category. We are a software-shaped company today; what we resist is letting category become the headline.
The principles below come from reading every line of copy already shipped on imali.ebstar.co and chingu-ai.ebstar.co and reverse-engineering what makes it sound like the same person wrote both. Now you have the rules. Apply them to anything new.
Founder voice — first-person Ebenezer Tarubinga quotes, explicitly attributed — is a separate sourcing rule, not a writing rule. See §01.992 for who speaks when.
Every shipped Ebenworks product uses the same set of typographic and structural moves. They signal craft. They tell the reader: someone made this, line by line.
§ notation."§ 04 · Features." Not "Features." The marker is small and orange. It tells the reader they're in a structured document, not a sales funnel.
Fig. 01.Editorial captions, not stock-photo subtitles. "Fig. 03" sits next to a portrait. The implicit promise: this image earned its place.
01 / 02 / 03, not bullets.Numbered with periods, set in display type. Bullets are for grocery lists. Numbered steps with weight suggest a process worth following.
Anonymized merchants and seniors are disclosed as composites in the small print under the quote — not buried in the footer. Each composite carries a sunset target where the page lives, so it gets replaced with an opted-in attribution. See §01.99.
5M+ streams. 1.6M merchants. 700ms response. 60-second setup. ₩10,000/resident/mo. Specific numbers are how the brand earns trust. Each number is labeled by what it is — measured, target, or illustrative. See §01.98.
"Better products. Better people. Better tomorrow." Order matters: the people are the reason for the products, and tomorrow is the consequence of both. Don't reorder. Don't drop the middle. Don't translate the chain itself — localize the sub-line beneath it.
Better products. Better people. Better tomorrow.
Better products. The craft we ship — a WhatsApp business OS, a voice AI for seniors, what comes next.
Better people. The populations the products are built for. Not "humans in general." Specific people: SA's informal merchants, Korea's seniors living alone.
Better tomorrow. The systemic outcome. A SA spaza-shop owner has a credit profile she didn't have. A Korean grandmother has fewer days of silence. Measurable. Auditable. Not vague.
When you split the tagline for a smaller surface, lead with whichever clause serves the reader's current question. But never present it without the chain visible somewhere on the same page.
Every brand has a list. Internalize this one. When you catch yourself reaching for the right column, stop and reach for the left.
Not banned, but they need a noun nearby to earn their keep:
When a new Ebenworks company serves end-users directly, name it the way Imali and Chingu were named: in the language of the population it serves. For B2B brands, partner-facing entities, or holding-level work, name pragmatically — but keep the local-language pattern visible on the customer-facing surfaces.
Pull from the language of the population the company serves. Tanzanian smallholder farmers? Swahili. Vietnamese gig workers? Vietnamese. Unhoused people in any city? Whatever language fits — the rule is the user, not the country.
One short word. Imali (5 letters), Chingu (6). Easy to type, easy to say in any accent.
No suffix in the wordmark. Just Imali, just Chingu. The product category is the subtitle, not the name.
Don't translate it back in the headline. Let the name carry weight; the first sentence is the explanation.
Run it past native speakers — including elders, including the population we'll serve. Check it doesn't carry the wrong register, the wrong class connotation, or an embarrassing meaning in any of the languages we operate in (English, Korean, isiZulu, isiXhosa, Afrikaans, Shona, Ndebele, Tagalog, Hindi, at minimum). "Not embarrassing" is a low bar; "the person we're serving would choose this word for themselves" is the bar.
Some brands in the group won't have a single end-user language — a B2B service for lenders, a partner-facing product, or holding-level operations. Name those pragmatically: clear, short, easy to say in English. Save the local-language pattern for the surfaces that face the people the company exists to serve.
Ebenworks doesn't sit alone in the brand stack. There are five identities, and they do different jobs. Use the right one for the audience.
| Identity | What it is | When to use |
|---|---|---|
| Imali | Operating company — fintech for SA informal merchants. | User-facing for SA merchants, partners, regulators, lenders specifically about Imali. |
| Chingu | Operating company — voice AI care for Korean seniors. | User-facing for Korean seniors, families, welfare workers, regulators specifically about Chingu. |
| Ebenworks | Holding identity — group of operating companies. | Cross-company comms, group hiring, group fundraising, corporate paperwork, engineering org. |
| Ebstar | Founder personal brand — music, writing, public-facing presence. | Personal essays, music, op-eds where the founder speaks as a person, not as the holding co. |
| Ebenezer Tarubinga | The founder, named. | Bylined quotes, formal credit, regulatory or legal contexts. |
Domains today live under *.ebstar.co because the personal brand carried the early audience. Operating companies will move to standalone domains as they mature; the move is a brand event, not a redirect.
The five rules apply everywhere; the mix changes by surface. Lead with the priorities listed. Avoid the items in the third column.
| Surface | Voice priorities | What to avoid |
|---|---|---|
| Hero / landing | Plain + specific + local. One declarative sentence, then a 2-line frame. | Manifesto register. Stack details. |
| Feature card | Plain + specific. One sentence + one number. | Adjective stacking. Hype words. |
| Pricing | Specific. Concrete numbers, concrete cancellation path. | Marketing tier-language ("most popular"). |
| Privacy / trust | Technical proof. Legal articles named. | Slogans. Reassurance without a citation. |
| Push / SMS / WhatsApp UI | Plain + local. Vocatives where they fit. Speak as the product, not as the brand. | Marketing CTAs. Long sentences. |
| Support reply | Plain. Acknowledge → answer → next step. First name if known. | Ticket-system stiffness. "We apologize for any inconvenience." |
| Sales / partner deck | Specific + technical proof. Legal context. The concrete offer. | Generic TAM slides. "Massive opportunity." |
| Investor pitch | Manifesto + specific. The why up front, then the measurable. | Bare manifesto. Bare numbers. |
| Social (X / LinkedIn) | Plain. One thought per post. Show, don't telegraph. | Threads of platitudes. Founder humblebrags. |
| Press / op-ed | Manifesto + founder voice + specific. | Stage-overstating. Composite anything. |
| Crisis / incident | See §01.991 — the crisis register has its own rules. | Anything off the cuff. |
Numbers carry the trust load. They also carry the legal and reputational risk. Every number on every surface is one of three things — labeled inline.
Observed in production or pilot, with the data on hand. State plainly: "22-minute median conversation in pilot (n=18)." Round when imprecise; precise when you've measured.
A design goal we're working toward. Label inline: "Target: KISA certification stamp by Q3 2026." Never present a target as if it were measured.
A worked scenario for explanation. Label inline: "Illustrative: a merchant doing R5,000/day in invoices…" Useful for explaining mechanics; never for proving outcomes.
When the same number appears on a landing page and a partner deck, the label travels with it. 5M+ says "more than five, less than ten, we don't have it sharper." 5,142,318 says "we counted."
Composites bridge the gap between pre-pilot and a live, opted-in voice. They are temporary by design — and we treat them that way.
"Composite · drawn from pilot interviews · identity anonymised" — directly under the quote, not in a footer.
Use a role: "A spaza owner in Soweto." Never "Sarah, NYC."
Each composite has a planned replacement date logged where the page lives. Six months past first publication and still composite? Raise it as a problem. <!-- composite sunset target: 2026-Q4 -->
"Composite" means multiple interviews informing one scenario. It does not mean splicing different people's words into one mouth.
The brand is most exposed when something breaks. A missed alert. A data incident. A regulator inquiry. A merchant who got bad advice. The voice we want there has a shape.
No softeners. No "we may have." Tell people the thing.
What's still working. What isn't. What they need to do.
Not "soon." A real next-update commitment with a time.
Usually the founder. Not "the team." Not "Ebenworks."
A real channel a real person reads.
The rules above are how we write about the products. The products themselves speak too — to merchants, to seniors, to families. Their register is more intimate than ours.
Plain English, isiZulu, or isiXhosa per the user's setting. Sentences short enough to read on a small screen at midday in the sun. Vocatives where natural (sawubona, molo, first name if known). Numbers formatted the way the merchant writes them. Errors say what to do, not what went wrong inside.
Sawubona Nomvula. Today: R3,420 in. R1,180 out. Reply 1 to log a sale, 2 to see the week.
Korean, conversational register, regional patterns where appropriate (Gyeongsang, Jeolla, Chungcheong, Gangwon, Jeju). Slower cadence than a smart-speaker default. Honorifics — warm, not stiff. Never rushes. Doesn't pretend to be human; doesn't break the warmth either.
할머니, 오늘 점심 드셨어요? 천천히 말씀하셔도 돼요.
Different from both. English. Specific. Lower temperature than the manifesto, higher temperature than a 10-K. The voice from §01.5, with §01.98's number labels intact.
Founder voice — first-person Ebenezer Tarubinga quotes, explicitly attributed — sits inside this register, on essays, manifesto pages, and press, where the why matters more than the what.
When in doubt about which voice, ask: who is on the other end of this sentence?
Generative tooling is a typing aid. It is not the writer. The writer is on the team and reads the rules above.
Edit it down with §01.5. The rules win, every time.
Innovative, empowering, seamless, comprehensive. Catch them in the diff.
Models hallucinate metrics and legal articles. No published number or legal citation in AI-drafted copy ships without independent verification.
A model can sketch; the published quote is the founder's words, approved by the founder.
Mostly model-drafted long-form (content marketing, support macros) carries a disclosure. Personal essays and founder voice — AI is a typing aid at most.
Sentences that pass the rules and still feel wrong. Use as a calibration aid — and add to the list when you find a new one. The list is the playbook's most useful section.
"Imali serves the unseen 1.6M SA merchants the banks can't see."
Passes the rules. Stacks "unseen" and "can't see" — savior register doubled. Cut "the unseen."
"Chingu offers 700ms median response, on-device wake word, and a 90-day auto-delete window — built for Korean seniors who deserve dignity."
Passes specific + technical. "Deserve dignity" is editorial appended to a spec list. Cut, or split into two sentences with different jobs.
"We don't choose problems by market size — we choose them by who's left out of the picture."
Beautiful in a manifesto. Wrong on a pricing page, where it reads as virtue stapled to a price.
"Built with love for the underserved."
Passes plainness. Fails because "with love" is unfalsifiable and "the underserved" is unspecific. Two cardinal sins in five words.
Expect parts of it to age out. The brand is a position; the playbook is one expression of that position at one point in time.
The playbook's authority is borrowed from whatever it makes us better at. When it stops doing that for a particular case, the case wins, not the playbook.
The logo has three components: the EW mark, the EBENWORKS wordmark, and the tagline. They lock together as a system. Use the variant that fits the context — don't try to make one variant do every job.
Primary for the website hero, brand pages, formal documents, the first time someone meets us.
Stacked for everyday use — slide decks, email signatures, product chrome — where the tagline gets in the way.
Mark for tight spaces — favicons, app icons, avatars, watermarks. Anywhere people already know who we are.
Wordmark when there's already a strong brand mark elsewhere on the page (e.g. a partner logo lockup).
Monochrome when color isn't available (newsprint, single-color silkscreen) or would clash with surrounding content.
Give the mark room to breathe. Reserve a margin equal to the height of the lower-case "x" of the wordmark (or roughly 1/4 of the mark's height) on every side. Nothing else lives inside that boundary — no text, no other marks, no edges.
Mark: 24×24 px on screen, 8mm in print.
Stacked: 96 px wide on screen, 25mm in print.
Primary (with tagline): 240 px wide minimum — below this, the tagline is no longer legible. Use stacked instead.
Tip: when in doubt, scale up. The mark is built to work big. It loses character — and legibility — when squeezed.
Six ways to break the brand. Don't do any of them. The logo is a fixed object — recolor, recompose, or rebuild it and people stop recognizing the company.
The system runs on a single brand orange (#FC5F00) against deep charcoal text on warm paper. Everything else — the gray scale, the warm off-white — exists to give that orange room to do its job.
Use orange surgically. It's the call-to-action, the highlight, the moment of attention. Wash it everywhere and it loses all its weight.
Orange 500 against Paper passes WCAG AA for large text (3:1) but not normal body. Use Ink or Charcoal for sustained reading; reserve Orange 500 for headlines, CTAs, and accents. Orange 700+ on Paper passes AA for normal body text.
A characterful display family for headlines and brand moments. A neutral, refined sans for everything else. A monospace for code, technical detail, and tagged metadata.
The recommended pairing is Bricolage Grotesque (display) + Geist (body) + Geist Mono. All three are open-source and available via Google Fonts. If your stack already standardizes on Inter, swap it in for Geist — the system still holds.
A few quick examples of how the system holds together when you build with it. None of these are mandates — they're proof that the parts work.
Primary uses Brand Orange. Secondary is ink-outline. Ghost has no chrome — for low-priority routes.
The mark renders crisply at 16×16 — the EW shape stays legible even at favicon size.
The brand isn't a PDF. It's a set of variables you can paste into your stylesheet, your config, your typed constants — and start shipping with today.
Find the full token files under tokens/: tokens.css, tokens.json, tailwind.config.js, theme.ts.
/* tokens.css — drop into :root */ --ew-orange: #FC5F00; --ew-orange-deep: #DA4300; --ew-ink: #1D1009; --ew-charcoal: #28282B; --ew-paper: #FAF8F4; --ew-font-display: 'Bricolage Grotesque', sans-serif; --ew-font-sans: 'Geist', system-ui, sans-serif; --ew-font-mono: 'Geist Mono', monospace;
// tailwind.config.js theme: { extend: { colors: { ew: { orange: { DEFAULT: '#FC5F00', deep: '#DA4300' }, ink: '#1D1009', charcoal: '#28282B', paper: '#FAF8F4', }, }, }, }
// theme.ts export const colors = { brand: { orange: '#FC5F00', orangeDeep: '#DA4300', ink: '#1D1009', charcoal: '#28282B', paper: '#FAF8F4', }, } as const;
Drop this into your <head>. The companion files live in favicons/ — copy them to your site's web root.
<!-- Ebenworks favicons --> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> <link rel="manifest" href="/site.webmanifest"> <meta name="theme-color" content="#FC5F00">
Sixty-plus files, organized by purpose. Use this index as a map.