Ui Brand Design System Deep Dive
1. Brand Overview
Ui (Ubiquiti) isn’t trying to be flashy. They’re a networking hardware brand with a design language that feels engineered, not decorated. The site’s aesthetic is clean, restrained, and precise — very much in line with their product ethos. This isn’t a brand chasing “playfulness” or “warmth.” It’s about control, performance, and technical clarity.
The vibe: minimal, high-contrast, and slightly cold. The palette leans on pure white, deep blacks, and a single electric blue. Typography is consistent and utilitarian — one custom family, “UI Sans,” with Lato as fallback. There’s no serif indulgence, no visual flourishes. Everything is here to serve the content.
The philosophy feels like: “Don’t distract from the product.” Buttons, links, and components are stripped down to essentials. There’s a lot of white space, but it’s not decorative — it’s functional breathing room. Even the hover states are subtle and controlled.
This is for an audience who values reliability and clarity over aesthetic novelty — network engineers, IT admins, and technically minded consumers. The design system reflects a brand that wants to be trusted, not “liked.” They’re confident enough to keep things simple.
One notable choice: the 8px spacing scale. It’s the backbone of everything from button padding to layout gaps. That’s a grid that says “we measure twice, cut once.” Border radii are conservative — 4px for inputs, 30px for pill buttons — and shadows are minimal, mostly inset for UI affordances.
It’s not “flat” design per se, but depth is used sparingly. This works because hardware brands benefit from a grounded, weighty feel — too much shadow and gloss would make them look like a consumer electronics glam site. Ui’s approach keeps them in the “serious tools” category.
2. Color System
2.1 Primary Colors
The hero here is #006fff — a strong, saturated blue. This is the action color: CTAs, primary buttons, and key interactive states. It’s bright enough to stand out against white and gray surfaces, but not neon. Compared to Cisco’s softer blues or Netgear’s purple accents, Ui’s blue feels sharper, more assertive.
Psychology-wise, blue conveys trust, stability, and technical competence. The saturation adds energy without tipping into “fun” — it’s still professional.
Secondary colors are essentially neutrals — black, white, and a series of grays from #212327 to #696969. There’s no secondary “brand accent” besides blue, which keeps the system simple but limits flexibility.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Primary Blue | #006fff | Primary action | Buttons, links, focus outlines |
| Black | #000000 | Text / backgrounds | Body text, active states |
| White | #ffffff | Background / text | Page background, text on dark surfaces |
| Gray 80 | #50565e | Neutral | Secondary text, icons |
| Gray 65 | #696969 | Neutral | Headers, UI chrome |
| Gray 90 | #212327 | Neutral | Dark UI sections |
| Gray 75 | #3b3f45 | Neutral | Background panels |
| Navy 100 | #002556 | Interactive hover/focus | Button hover states |
| Blue 80 | #14417b | Interactive hover/focus | Links hover, dark mode accents |
| Blue 81 | #14417c | Interactive hover/focus | Links hover, dark mode accents |
| Blue 60 | #187dff | Interactive hover/focus | Buttons hover |
2.3 Color Relationships
The high contrast is deliberate: #006fff on white is well above WCAG AA for normal text. Black on white is perfect for legibility. Gray tones are used for hierarchy — lighter grays for secondary text, darker for UI boundaries.
There’s no obvious “dark mode” palette here, but the deep grays (#212327, #3b3f45) could serve as dark backgrounds. The blue maintains visibility against both white and black.
2.4 Usage Guide
- Use #006fff only for interactive elements. Never for body text.
- Pair #ffffff background with black or dark gray text for maximum readability.
- Avoid using multiple blues — stick to the primary and hover variants.
- Gray neutrals work for dividers, borders, and secondary text. Keep them consistent by role.
- Don't blend black and deep gray in the same element — pick one for clarity.
3. Typography
3.1 Font Families
Everything runs on UI Sans with Lato as fallback. No Google Fonts or Adobe kits — this is a custom family. In some cases, there’s a longer fallback stack: UI Sans, Lato, HelveticaNeue, Helvetica Neue, Helvetica, Arial. That’s for buttons, ensuring consistent rendering across systems.
This is a sans-serif built for UI clarity — geometric, clean, and unobtrusive.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| h1 | UI Sans | 42px (2.63rem) | 700 | — |
| h1 | UI Sans | 36px (2.25rem) | 400 | — |
| h1 | UI Sans | 30px (1.88rem) | 700 | — |
| h1 | UI Sans | 24px (1.50rem) | 400 | — |
| h1 | UI Sans | 20px (1.25rem) | 400 | 1.30 |
| button | UI Sans | 18px (1.13rem) | 400 | 1.11 |
| h1 | UI Sans | 18px (1.13rem) | 700 | 1.11 |
| h1 | UI Sans | 16px (1.00rem) | 400 | 1.25 |
| h1 | UI Sans | 16px (1.00rem) | 700 | 1.50 |
| button | UI Sans | 16px (1.00rem) | 400 | — |
| button | UI Sans | 15px (0.94rem) | 400 | 1.71 |
| h1 | UI Sans | 15px (0.94rem) | 400 | 1.71 |
| link | UI Sans | 15px (0.94rem) | 400 | 1.71 |
| button | UI Sans | 14.4px (0.90rem) | 700 | 1.00 |
| button | UI Sans | 14px (0.88rem) | 400 | 1.71 |
| caption | UI Sans | 14px (0.88rem) | 400 | 1.43 |
| button | UI Sans | 14px (0.88rem) | 400 | 1.43 |
| caption | UI Sans | 14px (0.88rem) | 700 | 1.71 |
| link | UI Sans | 14px (0.88rem) | 400 | 1.71 |
| caption | UI Sans | 13.6px (0.85rem) | 400 | — |
| button | UI Sans | 13px (0.81rem) | 400 | 1.00 |
| link | UI Sans | 12.992px (0.81rem) | 400 | 1.50 |
| caption | UI Sans | 12.992px (0.81rem) | 400 | 1.50 |
| link | UI Sans | 12px (0.75rem) | 400 | 1.67 |
| button | UI Sans | 12px (0.75rem) | 400 | 1.67 |
| caption | UI Sans | 12px (0.75rem) | 400 | 1.67 |
| button | UI Sans | 12px (0.75rem) | 700 | 1.00 |
| caption | UI Sans | 10px (0.63rem) | 700 | 1.20 |
| caption | UI Sans | 8.5px (0.53rem) | 400 | — |
| caption | UI Sans | 8px (0.50rem) | 400 | 1.50 |
3.3 Hierarchy
The scale is tight — lots of small increments. This means they can fine-tune hierarchy without big jumps. Headings have both bold and regular weights, letting them adjust visual weight without changing size. Button text is slightly smaller than body copy, which keeps UI elements compact. Line heights vary — larger headings have tighter leading, smaller text is more generous.
4. Spacing & Layout
4.1 Spacing Scale
Base grid: 8px. But they also use odd values like 7px, 9px, and 245px in certain places. This suggests pixel-precision overrides strict scale when needed.
| Value | Count | Use |
|---|---|---|
| 1px | 3 | Borders, hairlines |
| 4px | 20 | Icon padding, tight gaps |
| 5px | 11 | Micro-gaps |
| 6px | 5 | Component-specific tweaks |
| 7px | 12 | Button vertical padding |
| 8px | 8 | Base grid unit |
| 9px | 16 | Input padding |
| 10px | 33 | Common padding |
| 12px | 16 | Button horizontal padding |
| 14px | 2 | Specific text spacing |
| 15px | 4 | Button padding variants |
| 16px | 17 | Standard gaps |
| 20px | 3 | Larger item gaps |
| 24px | 6 | Section spacing |
| 25px | 3 | Special layouts |
| 30px | 2 | Large button height |
| 32px | 9 | Card padding |
| 48px | 5 | Hero section gaps |
| 72px | 3 | Section breaks |
| 245px | 2 | Hero images |
4.2 Layout
Breakpoints are many: from 365px to 1700px. This is granular responsiveness — they’re tuning for specific device widths, not just generic mobile/tablet/desktop. Expect content to reflow precisely at these widths.
5. Visual Elements
Border Radius
Conservative values except for pills:
| Radius | Count | Components |
|---|---|---|
| 1px | 8 | span |
| 2px | 15 | buttons, divs, Back |
| 2.5px | 1 | alertdialog |
| 3px | 2 | div |
| 4px | 12 | buttons, divs, inputs |
| 6px | 10 | buttons, divs |
| 16px | 4 | div |
| 17px | 1 | Filter |
| 20px | 3 | switch |
| 30px | 26 | buttons, spans (pills) |
| 50px | 1 | input |
| 15% | 1 | div |
| 50% | 18 | divs, spans (avatars, circles) |
Shadows
Mostly subtle, often inset:
rgb(194, 198, 203) 0px 0px 0px 1px inset— common for inputs.rgba(0,0,0,0.25) 0px 0px 10px 0px— soft drop shadows.- Minimal others — depth is functional, not decorative.
Borders
Thin, precise. Often 1px solid in grays or blue. Outset and inset styles appear for specific components — probably legacy or browser default overrides.
6. Components
6.1 Buttons
Primary (Blue)
- Default: bg #006fff, text #ffffff, padding 8px 12px, radius 4px, no border.
- Hover: bg #ffffff, text #2285f7, opacity 0.6.
- Active: bg #34383d, border 1px solid #0e65d8, text #000000.
- Focus: bg #1eaedb, border 1px solid #000000, text #ffffff.
Secondary (Transparent)
- Default: bg rgba(255,255,255,0.1), text #ffffff, padding 14px 15px, radius 4px, border 1px solid #ffffff.
- Hover: bg #1eaedb, text #ffffff, opacity 0.7.
- Active: opacity 0.9.
- Focus: bg #1eaedb, border 1px solid #000000.
6.2 Links
Four variants: black, dark gray, white, and mid-gray text. None are underlined. Hover switches to #3860be (blue).
6.3 Forms
Inputs: bg #ffffff, text #494949, border 1px solid #dbdce1, radius 4px, padding 9px 8px. Focus inverts — bg #1eaedb, text #ffffff, border #000000.
6.4 Cards
Not explicitly extracted, but likely use 4px or 6px radius, white bg, subtle inset border.
7. Design Tokens
:root {
/* Colors */
--color-primary-blue: #006fff;
--color-black: #000000;
--color-white: #ffffff;
--color-gray-80: #50565e;
--color-gray-65: #696969;
--color-gray-90: #212327;
--color-gray-75: #3b3f45;
--color-navy-100: #002556;
--color-blue-80: #14417b;
--color-blue-81: #14417c;
--color-blue-60: #187dff;
/* Typography */
--font-ui-sans: "UI Sans", Lato, HelveticaNeue, Helvetica Neue, Helvetica, Arial;
--font-size-h1-lg: 42px;
--font-size-h1-md: 36px;
--font-size-h1-sm: 30px;
/* ... all sizes from table ... */
/* Spacing */
--space-1: 1px;
--space-4: 4px;
--space-5: 5px;
--space-6: 6px;
--space-7: 7px;
--space-8: 8px;
--space-9: 9px;
--space-10: 10px;
/* ... */
/* Radius */
--radius-1: 1px;
--radius-2: 2px;
--radius-4: 4px;
--radius-6: 6px;
--radius-16: 16px;
--radius-30: 30px;
--radius-50pct: 50%;
/* Shadows */
--shadow-inset-gray: rgb(194, 198, 203) 0px 0px 0px 1px inset;
--shadow-drop-soft: rgba(0,0,0,0.25) 0px 0px 10px 0px;
}8. AI Coding Assistant Prompt
# Ui Design System Specification
You are a Ui design expert. Build UIs matching their visual language exactly.
## Brand Context
Ui's design language is minimal, precise, and technical. It uses high contrast, a single strong blue accent, and a controlled 8px grid. Typography is consistent and sans-serif, with tight hierarchy and no decorative flourishes.
## Color Palette
- Primary Blue: #006fff — CTAs, primary buttons, key interactive elements
- Black: #000000 — Body text, active states
- White: #ffffff — Backgrounds, text on dark surfaces
- Gray 80: #50565e — Secondary text
- Gray 65: #696969 — Headers, UI chrome
- Gray 90: #212327 — Dark UI sections
- Gray 75: #3b3f45 — Panels
- Navy 100: #002556 — Hover/focus backgrounds
- Blue 80: #14417b — Hover/focus accents
- Blue 81: #14417c — Hover/focus accents
- Blue 60: #187dff — Hover states
## Typography
Font Family: "UI Sans", Lato, HelveticaNeue, Helvetica Neue, Helvetica, Arial
| Level | Size | Weight | Line Height | Use |
|-------|------|--------|-------------|-----|
| H1 lg | 42px | 700 | — | Page titles |
| H1 md | 36px | 400 | — | Section headings |
| H1 sm | 30px | 700 | — | Subtitles |
| ... | ... | ... | ... | ... |
## Spacing & Grid
Base: 8px
Scale: 1px, 4px, 5px, 6px, 7px, 8px, 9px, 10px, 12px, 14px, 15px, 16px, 20px, 24px, 25px, 30px, 32px, 48px, 72px, 245px
## Border Radius
- sm: 4px — Inputs, small buttons
- md: 6px — Cards
- pill: 30px — Large buttons
- full: 50% — Avatars
## Shadows & Depth
- Inset gray: rgb(194,198,203) 0px 0px 0px 1px inset — Inputs
- Soft drop: rgba(0,0,0,0.25) 0px 0px 10px 0px — Modals
## Components
### Primary Button
Default: bg #006fff, color #ffffff, padding 8px 12px, radius 4px, no border.
Hover: bg #ffffff, color #2285f7, opacity 0.6.
Active: bg #34383d, border 1px solid #0e65d8, color #000000.
Focus: bg #1eaedb, border 1px solid #000000, color #ffffff.
### Secondary Button
Default: bg rgba(255,255,255,0.1), color #ffffff, padding 14px 15px, radius 4px, border 1px solid #ffffff.
Hover: bg #1eaedb, color #ffffff, opacity 0.7.
### Link
No underline. Hover color #3860be.
### Input
Default: bg #ffffff, color #494949, border 1px solid #dbdce1, radius 4px, padding 9px 8px.
Focus: bg #1eaedb, color #ffffff, border 1px solid #000000.
## Layout & Responsive Rules
Breakpoints: 365px, 376px, 400px, 425px, 426px, 476px, 492px, 493px, 530px, 550px, 600px, 640px, 766px, 767px, 832px, 896px, 991px, 992px, 1104px, 1105px, 1199px, 1200px, 1260px, 1524px, 1700px.
## Interaction Rules
- Transition: 150ms ease for state changes
- Focus: solid outline 1px or 2px in black or blue
## DO
- Use only colors from palette
- Maintain 8px grid
- Keep buttons compact
- Use UI Sans everywhere
- Respect precise breakpoints
## DON'T
- Add shadows to elements unless specified
- Mix rounded and sharp corners
- Use non-palette colors
- Underline links
## Code Examples
```css
.btn-primary {
background: #006fff;
color: #ffffff;
padding: 8px 12px;
border-radius: 4px;
border: none;
font-family: var(--font-ui-sans);
font-size: 13px;
transition: background 150ms ease;
}
.btn-primary:hover {
background: #ffffff;
color: #2285f7;
opacity: 0.6;
}
.input {
background: #ffffff;
border: 1px solid #dbdce1;
border-radius: 4px;
padding: 9px 8px;
}
.input:focus {
background: #1eaedb;
color: #ffffff;
border: 1px solid #000000;
}
```9. Summary
TL;DR — Ui’s design system is cold, minimal, and engineered. One primary blue drives all interaction. Typography is custom, spacing is precise, and depth is functional. This is a system for serious tools, not lifestyle branding.
Brand Keywords:
- engineered-minimalism
- tech-precision
- high-contrast
- no-frills