Brand
The Radial brand.
Radial runs one design system in two modes. Everything on this page also ships as machine-readable tokens, so agents and tools can read the brand the same way people do.
What we stand for
Five rules the system follows.
Do one thing well.
The system serves an issue tracker, not a platform. Every token, font, and rule earns its place or leaves.
Speed is the feature.
The visual language is quiet so the product feels fast: hairline borders, near-invisible shadows, no decoration that has to load.
Two modes, one set of names.
Semantic tokens stay constant; only the light or dark mapping changes. You never write a mode-specific color.
Amber is the accent, not the theme.
One warm charcoal (or cream) surface, near-neutral text, and amber used sparingly for the pop. The mark, the focus ring, one highlight per view.
Honest and plain.
Plain words, short sentences, no hype. The copy states the bet and stops. "AI features shipped: 0."
Logo and symbols
The radial burst.
A center point and eight spokes. Two forms: the line mark, rendered in a single color via currentColor, and the amber tile for icons and avatars.
Light strokes on dark surfaces, dark strokes on light. Follow contrast.
Single color always. Never recolor, outline, distort, or add effects.
Keep clear space around the mark. Do not crowd it.
The mark
The radial burst. Single color via strokes; pick the variant for your surface.
App icon
The amber tile. For favicons, avatars, and app icons.
Our name
Always "Radial": one word, capital R. The wordmark pairs the burst mark with Radial set in Geist semibold, the way the nav and footer render it.
Never append AI. The whole point is that there is none.
Not lowercase in prose.
The domain is radial.build; the product is "Radial".
Color palette
Two modes, one set of names.
Colors are defined as OKLCH tokens in one stylesheet; the hex below is the sRGB equivalent. The semantic names stay constant and only the light or dark mapping changes. Click any swatch to copy its hex.
Identity
The one brand color. Amber carries the whole identity; the rest of the system is neutral.
Dark mode (default)
The default surface: warm charcoal, near-white text. Marketing pages are always dark.
Light mode (opt-in)
The same token names remapped to a warm cream surface. Used in the app and auth screens via .light.
Status and priority
The tracker hues, used for workflow status and priority. Dark-mode values shown.
Tier 1 is a warm stone scale (stone-50 #FAFAF9 to stone-950 #0C0A09). Components never touch it directly; the semantic tokens above remap onto it.
Typography
Barlow Condensed, Geist, Geist Mono.
The display face: the social card and big headline moments. Not the wordmark.
The wordmark, all body copy, headings on the site, and product UI.
Eyebrow labels, install commands, and IDs like RAD-219.
- Headings use Geist, font-semibold, tracking-tight. Not the display face.
- Hero: text-5xl to text-7xl. Section: text-2xl to text-3xl.
- Only font-mono exists as a font utility; set Barlow or Geist via the CSS variable.
How we sound
Quiet, plain, honest.
Voice markers
- Plain words over jargon.
- Short sentences. State the bet, then stop.
- Honest to a fault: "AI features shipped: 0."
- Second person: your terminal, your agent, your data.
- Concrete: RAD-219, $50 a year, under 50ms.
Lines that land
- An issue tracker. That's it.
- No AI, no agents, no credits, no BS.
- $50 per user, per year. Flat.
- Bring your own agent. Keep your money.
- AI features shipped: 0.
Never use
- AI hype: copilot, magic, revolutionary, supercharge, 10x, seamless.
- Em dashes anywhere in copy.
- Fake urgency or "Contact sales".
- Credits, seats, or usage-meter language.
Words matter
The ontology is fixed.
Workspace, then Team, then Project, then Issue. Plus Cycle, Label, Status, Priority, Comment.
Preferred
- Issue
- The atomic unit of work. Capital I. IDs read RAD-219.
- Project / Team / Workspace
- How work is organized, in that nesting order.
- Cycle
- A time-boxed set of issues.
- Status
- Triage, Backlog, Todo, In Progress, In Review, Done, Canceled.
- Priority
- No priority, Urgent, High, Medium, Low.
- CLI, MCP, REST API
- The interfaces. First-class, never add-ons.
Avoid
- ticket, card, story
- It is an Issue.
- sprint
- It is a Cycle.
- board column
- It is a Status.
- copilot, our agent
- You bring your own agent. Radial has none.
- Radial AI, Radial.build (in prose)
- The product is "Radial".
Usage guidelines
Do and don't.
Do
- Use semantic tokens only: bg-background, text-foreground, bg-brand. The mapping changes per mode, not the class.
- Let dark be the default; light is opt-in via .light.
- Keep amber for accents: the mark, the focus ring, one highlight per view.
- Render the mark in a single color. Light strokes on dark, dark strokes on light.
- Set display type in Barlow Condensed, body and UI in Geist, labels and IDs in Geist Mono.
Don't
- Never write a dark: prefix. The theme guard fails the build.
- Never hardcode a palette color like emerald-400 or a raw #10b981. Add a token instead.
- Never use amber as a page background or a large fill. It is an accent.
- Never recolor, outline, distort, or add effects to the mark.
- Never stretch the wordmark or set it below the minimum size.
For AI and developers
Machine-readable tokens.
Every token and rule on this page ships as data, from one source of truth. The system is two-tier: semantic names stay constant, and the mode decides the mapping. Fetch whichever format your tool reads.