One page, built section by section
Keep this page open and refresh it. Each section gets a status in the menu: Locked or Decided means agreed; For review means it is waiting for you.
- Fields decided (40 high, 12 corners).
- Choices ready for review: switch, checkboxes, choice cards, segment, tabs, filter chips, and a table of which to use when.
Colour Locked 15 Oct
Decided first, because everything else is built from it. Five families, each a full scale, and a short list of roles. Screens use the roles, never a colour picked by eye.
The five families
The dot marks the main shade of each family. Numbers run light to dark.
Roles
What screens actually use. If something needs a colour that isn't a role here, it doesn't get one.
The sky
Only from the blue scale. Three strengths, each with one job.
Can people read it?
Every text-on-background pair Rotiera uses, measured. "AA" is the international readability standard for normal text (4.5 or more); "Large" passes only for big or bold text (3 or more).
Buttons, fields and every other section use only these. Changing a shade later changes it everywhere at once, which is the point.
Corners Decided 15 Oct
Round: friendly like Revolut and Wise, still grown-up. Things of the same kind always share a corner size. Refined 15 October: 12 (was 10) on fields and buttons, which are 40 high.
Tags and the time ring are fully round.
Buttons Decided 15 Oct
How people make things happen. One clear main action per screen, plain verbs on every button, the same shape everywhere. The main button is black, so blue keeps meaning time, selection and links.
A count of the current app (15 October, approximate):
Moving to these four kinds means replacing every one of those with the one shared button, area by area.
Four kinds, nothing else
Every button in Rotiera is one of these four. If a screen seems to need a fifth, the screen is wrong, not the system. Two buttons side by side are always different kinds.
Sizes
Medium is the default. Small lives inside rows and cards. Large is for the one action that ends a page, like Log in or Create my business, and for phones.
With icons
An icon goes before the word when it says what will appear (+ New), after it when it says where you'll go (→). Icon-only buttons always have a tooltip.
Placing them
The main button is always last, on the right (full width on a phone). Switching between views of one thing is not a button: that is the segment control, in the Choices section.
At most three buttons together. More than that goes in the ⋯ menu.
Measurements
The same numbers in the app, the website and emails.
One button in the code
This is what stops the salad: every screen uses this one component and nothing else. No screen gets its own button style.
<Button kind="secondary" icon={Download}>Export</Button>
<Button kind="quiet">Cancel</Button>
<Button kind="danger">Delete client</Button>
<Button size="small"> · <Button size="large" full> · <Button busy>Saving</Button> · <IconButton label="Next day" icon={ChevronRight} />
Kinds: primary (default), secondary, quiet, danger. Sizes: small, medium (default), large. That is the whole list.
Rules
Short, so they actually get followed.
Do
One black button per screen or card. A verb that says exactly what happens: "They're here", "Book 15:30", "Send link".
Don't
Several black buttons fighting, vague words like "OK" or "Submit", capitals, coloured buttons invented for one screen.
There is no red button on a page. "Delete" lives in the ⋯ menu as red text, and opens a question with the one red button. Two steps, so nobody deletes by accident.
While working, the button keeps its size and says what it's doing. If it fails, the message appears beside it in plain words, never as a code.
Fields Decided 15 Oct
Where people type and pick. One field component with a label above, a 40px box that lines up with buttons, a blue focus, and errors in plain words under the box.
A count of the current app (15 October, approximate):
Sign-up, setup and the side panels each have their own copy of price, stepper and dropdown boxes; date and time pickers look different from the dropdown next to them.
Add the ending, like .com.