Kata / alewa.kata.json compiled · 2 open questions
Apply design system
This is a compiled design language. Everything below renders in Alewa’s own system, because a styleguide should demonstrate itself rather than describe itself. Download the file, run the command in your repo, and your AI tools write in this language instead of the average of everything they were trained on.
Alewa Design System

Version 1.0 · for the Alewa app

A calm system for a calm product.

Alewa handles someone's working day, so the interface has to feel dependable before it feels clever. This system keeps the warmth of the brand while behaving like software people trust with their contracts.

tokens.css alewa.css icons.svg

01 · Principles

Eight rules that decide everything else.

Nothing pretends to be a window.

No traffic lights, no fake title bars, no screenshots of the product inside the product. Interfaces sit on the page directly and own the space they are in.

Icons are drawn, never typed.

Emoji are not iconography. Use the stroked set in icons.svg, which inherits colour and weight from its context. The sparkle is banned outright.

Show it working.

Prefer a real, clickable thing over a picture of one. If a state exists, it should be reachable, not illustrated.

Warm type, serious page.

The friendliness lives in the letterforms. The composition stays restrained, so the product reads as one with real customers rather than one performing personality.

Lines are balanced, never ragged.

Display type balances its lines and body copy never strands a single word. Where balance splits a sentence badly, break it by hand with .a-line.

Round, not sharp.

Every button is a pill and every container is softer than feels necessary. Radius carries as much of the brand as colour does.

Always say why.

Anything Alewa ranks, surfaces or drafts carries its reason in plain words. Ranking without a reason is magic, and magic is not trustworthy.

Alewa drafts. The person decides.

No surface may send, delete or commit on its own. Every outbound action passes through an explicit approval, and the interface says so before it is asked.

02 · Colour

Named for meaning, not for hue.

A row is amber because it needs you, not because amber looks nice. Naming colour by its job is what keeps the palette honest as the app grows.

bg
the page itself
surface
cards, rows, sheets
surface-sunk
draft bodies, wells
ink
headlines, primary text
needs-you
top of your day
handled
approved and sent
reason
why this is in front of you
danger
disconnect, delete

Colour never carries a meaning alone. The ranked row pairs amber with a number and a written reason, so it still reads correctly in greyscale or with colour blindness.

03 · Type

Plus Jakarta Sans for voice. Public Sans for reading.

Jakarta carries the warmth in its round, open letterforms. Public Sans underneath is deliberately plain, and that contrast is what lets the page feel friendly at headline size and sober everywhere someone actually reads.

Three things need you..a-display-m
Service agreement, Kojo & Co..a-title
Alewa ranked this first because a deadline sits inside it..a-subtitle
Body copy sits at this size and never runs wider than 58 characters, so the eye finds the next line without effort..a-body
From Kojo Mensah · attachment · Tuesday.a-meta
Draft, written in your voice.a-label

04 · Icons

One stroked set, no exceptions.

Drawn on a 24 grid and coloured by currentColor, so a single file serves every size and both themes.

Missing on purpose: the four point sparkle. It has become the universal badge for "a machine wrote this", and Alewa earns that trust by explaining itself in words instead.

05 · Components

The parts, and what each one is for.

Buttons

Labels name what the person is doing, not what the system is doing. "Approve & send" rather than "Submit", "Not today" rather than "Dismiss".

Chips, reasons and status

Why it's first: a deadline is inside Needs you Handled Set aside On the roadmap ⌘↵

The reason chip is the signature component. If Alewa moved something to the top, this is where it says why in a full sentence.

Form controls

That second switch is a deliberate joke and must never ship. Nothing in Alewa may offer to send unattended.

Notices

Alewa read 214 messages this morning and found three that need you.
Your reply to Kojo went out at 9:02 AM.
The deadline in this contract is Friday, which is two days away.
Alewa lost access to your mailbox. Reconnect to keep your day ranked.

Contacts, empty states and loading

KM Kojo MensahPartner · 34 threads together
AS Ama SerwaaCustomer · last mailed yesterday

Nothing needs you.

Alewa read everything that came in and none of it wants your attention today. Enjoy the quiet.

An empty inbox is the product succeeding. Say it warmly and never apologise for having nothing to show.

06 · Patterns

The approval loop.

This is the whole product in one interaction, so it is a pattern rather than a component. Rank, explain, draft, and wait. Click a row to see it run.

Draft, written in your voice

Note what the pattern refuses to do. It never sends on a timer, never pre-selects approve, and never hides the reason it ranked something. Removing any of those breaks the promise the product is sold on.

07 · Voice

Write like a colleague, not a system.

Finish your sentences.

Write "It drafts, but it never sends" rather than stapling two fragments together with a dash. Em dashes are rare, and only where the pause does real work.

Say Alewa, not AI.

The product has a name and a job. Where the mechanism matters, call it intelligence and explain what it read.

Name the reason.

"Why it's first: a deadline is inside" beats "Priority: high". The person should be able to disagree with the reasoning, which means they have to see it.

No hype, no exclamation.

This software handles contracts and money. Report what happened plainly and let the usefulness carry the enthusiasm.

08 · Do & don't

The tells to design out.

Do put the interface on the page

Rows, panels and drafts sit directly on the background and own their space.

Don't frame it in a fake window

Traffic lights and title bars around a demo read as generated the moment anyone looks.

Do draw the icon

Stroked SVG from the set, inheriting colour and weight from its container.

Don't reach for emoji

📄 and ✨ are not iconography. They break at every size and belong to no brand.

Do balance the headline

"It knows who you mail. / All of them." breaks where the meaning breaks.

Don't let lines fall where they land

"It knows who you / mail. All of them." is even in width and wrong in sense.

Do let the font be quiet

Warmth in the letterforms, restraint in the layout, so the product reads as established.

Don't pick a font that performs

A display face with loud personality makes a serious tool look like a weekend project.