BrandToPrompt

Tplinkcloud Design System: Minimalist Functional UI

Visit Site

Explore Tplinkcloud's design system - tight color palette, typography, and grid specs. Build dependable IoT UIs with TP-Link's visual language.

7 min read1,332 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
MYRIADPRO-LIGHTSEMIEXT

Design Style

Style
utilitarian minimalist with flat design and controlled palette
Visual Density
compact grid-based layout with tight 5px spacing
Border Style
small radii with 2px, 4px, and 6px rounding on buttons

Full Analysis

Tplinkcloud Design System Deep Dive

1. Brand Overview

Tplinkcloud is TP-Link’s consumer cloud service front-end. It’s not trying to be flashy. This is infrastructure UI — the kind you log into to manage devices, check statuses, or adjust settings. The brand vibe is utilitarian with a thin layer of friendliness. They’re clearly leaning on TP-Link’s existing industrial design language: clean lines, muted neutrals, and a single pop of color for interaction.

The entire site feels like it’s designed for people who want to get something done quickly. No gradients, no ornamental shadows. The palette is mostly grayscale with a few functional blues and one aggressive red (#ff4036) for high-priority actions. Typography is consistent — everything uses the same custom Myriad Pro Light Semi Extended variant. That uniformity screams “controlled brand environment” and helps keep interface copy feeling aligned, even when the sizes change.

The philosophy here is pragmatic minimalism. They’ve stripped away anything that could distract from core actions. If you’re building a UI for Tplinkcloud, you’re building inside a rigid grid of predictable spacing, consistent type, and colors that only show up when they mean something. This is aimed at network admins, tech-savvy home users, and anyone who needs their IoT devices connected and accessible 24/7. It’s not “fun tech,” it’s dependable tech.

What I like: They’ve kept the color system tight — no random brand blues sneaking into secondary actions. The typography is one-family-fits-all, which means no mental overhead switching between body and display styles. Odd choice: The primary button is red, not blue, which flips the typical enterprise UI pattern. That’s a deliberate choice — red reads as urgent, so you’re aware when you’re about to commit an action.

If you’re designing here, you need to respect the restraint. One wrong shade of grey and the whole thing starts feeling messy. One extra corner radius and you’ve broken the visual rhythm. This is a system that works because it’s boring — and boring here is good.


2. Color System

2.1 Primary Colors

The standout color in the system is rgb(255, 64, 54)#ff4036. This is the primary button background. It’s hot, urgent, and impossible to miss against the neutral backdrop. TP-Link usually uses teal blues for its hardware branding, but here they’ve gone red for primary actions — probably to make sure the user is aware they’re doing something impactful (e.g., deleting, saving critical settings).

Secondary emphasis comes from a single vibrant blue: rgb(60, 185, 233)#3cb9e9, used sparingly (possibly for links or highlights), and a deep blue rgb(0, 95, 204)#005fcc for hover/focus states.

The rest of the palette is grayscale — from true white to near-black — to keep the UI clean and to make the accent colors stand out.

2.2 Complete Palette

Color NameHexRoleUsage
White#ffffffBackground, text on primary buttonsButtons, alert window buttons
Light Gray#e6e6e6Neutral backgroundDividers, table borders
Mid Gray#a0a2a8Secondary text, bordersLinks, subtle dividers
Gray#999999Secondary textLinkedIn link, muted UI text
Dark Gray#323232Primary textTop navigation links
Very Dark Gray#161616Strong text emphasisTop color, headings
Border Gray#dadadaDividersToplink borders
Light Neutral#f2f2f2Background surfacesPanels, cards
Mid Neutral#b0b0b0Muted UI elementsLess frequent surfaces
Accent Blue#3cb9e9Functional accentHighlights, possibly secondary CTAs
Deep Blue#005fccInteraction stateHover/focus outlines
Error Red#ff4036Primary actionButtons, alerts
Placeholder Gray#aaaaaaInput textForm placeholders
Divider Gray#c8c8c8BordersDiv elements
Highlight Blue#26ade4BordersDiv highlight border
Light Border#eeeeeeButton borderButton outlines
Table Border#e6e6e6Table dividersTable component
Secondary Border#bfbfbfButton outlinesSecondary button border

2.3 Color Relationships

The high-contrast pairing here is #ff4036 (red) with #ffffff (white) — excellent contrast, comfortably meeting WCAG AAA for text accessibility. The dark grays (#323232, #161616) over white also pass comfortably. They’ve avoided mid-gray text over light gray backgrounds, which often fails contrast — good call.

Accessibility is strong for primary actions, weaker for secondary link colors (#999999 on white is borderline — WCAG AA threshold). This is fine for non-critical text but worth noting if designing for older users.

No dark mode here. The palette is optimized for light backgrounds. If they ever add dark mode, they’ll need inversion for red and blue accents to maintain accessibility.

2.4 Usage Guide

  • Use #ff4036 only for primary buttons and urgent CTAs.
  • Use #3cb9e9 for secondary interactive highlights.
  • Text should be #323232 or #161616 for body and headings.
  • Avoid using #999999 for critical text — keep it for metadata and placeholders.
  • Borders: stick to #dadada, #e6e6e6, or #c8c8c8 depending on hierarchy.
  • Don’t introduce extra colors. This system survives because it’s tight.

3. Typography

3.1 Font Families

Everything is set in MYRIADPRO-LIGHTSEMIEXT, a custom Adobe font variant. No Google Fonts, no variable fonts. This is a controlled environment — you either have the font or you don’t. No fallback stack is specified in the data, which is risky for web delivery but consistent for brand control.

This font is light-weight but extended horizontally — giving headings a calm, stable presence without feeling cramped.

3.2 Type Scale

ElementFontSizeWeightLine Height
Heading-1MYRIADPRO-LIGHTSEMIEXT36px (2.25rem)400-
ButtonMYRIADPRO-LIGHTSEMIEXT24px (1.50rem)400-
Heading-1MYRIADPRO-LIGHTSEMIEXT24px (1.50rem)400-
Heading-1MYRIADPRO-LIGHTSEMIEXT21px (1.31rem)400-
Heading-1MYRIADPRO-LIGHTSEMIEXT18px (1.13rem)400-
LinkMYRIADPRO-LIGHTSEMIEXT16px (1.00rem)400-
Heading-1MYRIADPRO-LIGHTSEMIEXT15px (0.94rem)700-
Heading-1MYRIADPRO-LIGHTSEMIEXT15px (0.94rem)400-
Heading-1MYRIADPRO-LIGHTSEMIEXT14.4px (0.90rem)4001.39
LinkMYRIADPRO-LIGHTSEMIEXT14px (0.88rem)400-
CaptionMYRIADPRO-LIGHTSEMIEXT14px (0.88rem)400-
CaptionMYRIADPRO-LIGHTSEMIEXT12px (0.75rem)400-
LinkMYRIADPRO-LIGHTSEMIEXT12px (0.75rem)400-
CaptionMYRIADPRO-LIGHTSEMIEXT10px (0.63rem)700-
LinkMYRIADPRO-LIGHTSEMIEXT10px (0.63rem)400-
ButtonMYRIADPRO-LIGHTSEMIEXT10px (0.63rem)400-
CaptionMYRIADPRO-LIGHTSEMIEXT10px (0.63rem)400-

3.3 Hierarchy

Sizes drop in small increments — this keeps headings from shouting. The largest jump is from 36px to 24px, which clearly defines page titles vs section titles. The rest is subtle — link text is 16px or 14px, captions go down to 12px or 10px.

They’re not using bold to scream — even headings are often weight 400. Bold (700) shows up only in small sizes (15px, 10px) for emphasis labels. That’s flipped from most UIs, and it works here because the extended letterforms already give presence.


4. Spacing & Layout

4.1 Spacing Scale

Base grid: 8px. All common spacing values are multiples or near-multiples, except a few odd sizes.

pxremCountNotes
1px0.06rem4Hairline adjustments
3px0.19rem8Micro gaps
5px0.31rem95Primary micro-spacing — huge usage
8px0.50rem6Base grid unit
18px1.13rem1Larger inset
20px1.25rem1Section spacing
22px1.38rem1Section spacing
30px1.88rem2Large gaps
35px2.19rem1Hero / large section gap

4.2 Layout

No breakpoints defined in the data — likely a fluid layout with CSS media queries elsewhere. The spacing system is tight; 5px is the most used — suggests a denser interface without excessive white space.


5. Visual Elements

Border Radius: Three values: 2px, 4px, 6px — all on buttons. No large radii. This is a square-cornered system with slight rounding for touch targets. No pill shapes, no circles.

Shadows: None. This is flat design. Borders do the work.

Borders: Multiple 1px solids in various grays. Specific highlight border in #26ade4 (rgb(38,173,228)) for active states. Tables use 2px solid #e6e6e6 — heavier for structural separation.


6. Components

6.1 Buttons

Primary Button (classes: button clearoutline btn langbtn)

Default:

  • Background: #ff4036
  • Text: #ffffff
  • Padding: 1px (tight — visual padding likely handled elsewhere)
  • Border radius: 2px
  • Border: 1px solid #eeeeee
  • Font: MYRIADPRO-LIGHTSEMIEXT, 24px, weight 400
  • No box shadow
  • Outline: none
  • Opacity: 1

Hover/Active/Focus: not defined in extracted data — may be handled inline.

Four styles:

  1. Color: #161616, no underline, weight 400
  2. Color: #999999, no underline, weight 400
  3. Color: #323232, no underline, weight 400
  4. Color: #a0a2a8, no underline, weight 400

No hover states defined — possibly subtle color change or underline added.

6.3 Forms

Text Input

  • Default: bg #fafafa, text #aaaaaa, border 1px solid #aaaaaa, radius 0px, padding 8px 8px 8px 10px
  • Focus: bg #ffffff, border 1px solid #323232, no outline

No checkbox/radio/select styles in data.


7. Design Tokens (CSS Custom Properties)

:root {
  /* Colors */
  --color-white: #ffffff;
  --color-gray-light: #e6e6e6;
  --color-gray-mid: #a0a2a8;
  --color-gray: #999999;
  --color-gray-dark: #323232;
  --color-gray-very-dark: #161616;
  --color-border-gray: #dadada;
  --color-neutral-light: #f2f2f2;
  --color-neutral-mid: #b0b0b0;
  --color-accent-blue: #3cb9e9;
  --color-deep-blue: #005fcc;
  --color-error-red: #ff4036;
  --color-placeholder-gray: #aaaaaa;
  --color-border-divider: #c8c8c8;
  --color-highlight-blue: #26ade4;
  --color-light-border: #eeeeee;
  --color-table-border: #e6e6e6;
  --color-secondary-border: #bfbfbf;

  /* Typography */
  --font-family-primary: "MYRIADPRO-LIGHTSEMIEXT";
  --font-size-h1: 36px;
  --font-size-button-lg: 24px;
  --font-size-h2: 24px;
  --font-size-h3: 21px;
  --font-size-h4: 18px;
  --font-size-link-lg: 16px;
  --font-size-label-bold: 15px;
  --font-size-label: 15px;
  --font-size-subheading: 14.4px;
  --font-size-link-md: 14px;
  --font-size-caption-md: 14px;
  --font-size-caption-sm: 12px;
  --font-size-link-sm: 12px;
  --font-size-caption-bold-xs: 10px;
  --font-size-link-xs: 10px;
  --font-size-button-sm: 10px;
  --line-height-subheading: 1.39;

  /* Spacing */
  --space-1: 1px;
  --space-3: 3px;
  --space-5: 5px;
  --space-8: 8px;
  --space-18: 18px;
  --space-20: 20px;
  --space-22: 22px;
  --space-30: 30px;
  --space-35: 35px;

  /* Border Radius */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

8. AI Coding Assistant Prompt

# Tplinkcloud Design System Specification

You are a Tplinkcloud design expert. Build UIs matching their visual language exactly.

## Brand Context
Tplinkcloud is TP-Link’s cloud service interface — functional, minimal, and restrained. It uses a tight grayscale palette with a single urgent red for primary actions and a calm blue for secondary accents. Typography is uniform: Myriad Pro Light Semi Extended across all components.

## Colors
- White: #ffffff — Backgrounds, button text
- Light Gray: #e6e6e6 — Neutral surfaces, table borders
- Mid Gray: #a0a2a8 — Secondary text, dividers
- Gray: #999999 — Metadata, muted links
- Dark Gray: #323232 — Primary text
- Very Dark Gray: #161616 — Heading text, emphasis
- Border Gray: #dadada — Dividers
- Neutral Light: #f2f2f2 — Panels, cards
- Neutral Mid: #b0b0b0 — Secondary surfaces
- Accent Blue: #3cb9e9 — Highlights, secondary actions
- Deep Blue: #005fcc — Hover/focus outlines
- Error Red: #ff4036 — Primary buttons, alerts
- Placeholder Gray: #aaaaaa — Input placeholders
- Divider Gray: #c8c8c8 — Borders
- Highlight Blue: #26ade4 — Active borders
- Light Border: #eeeeee — Button outlines
- Table Border: #e6e6e6 — Table component dividers
- Secondary Border: #bfbfbf — Secondary button outlines

## Typography
Font family: "MYRIADPRO-LIGHTSEMIEXT"

| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 36px | 400 | - | Page titles |
| Button Large | 24px | 400 | - | Main CTAs |
| H2 | 24px | 400 | - | Section headings |
| H3 | 21px | 400 | - | Subsections |
| H4 | 18px | 400 | - | Minor headings |
| Link Large | 16px | 400 | - | Navigation links |
| Label Bold | 15px | 700 | - | Emphasis labels |
| Label | 15px | 400 | - | Form labels |
| Subheading | 14.4px | 400 | 1.39 | Secondary headings |
| Link Medium | 14px | 400 | - | Inline links |
| Caption Medium | 14px | 400 | - | Descriptive text |
| Caption Small | 12px | 400 | - | Metadata |
| Link Small | 12px | 400 | - | Footer links |
| Caption Bold XS | 10px | 700 | - | Tiny emphasis |
| Link XS | 10px | 400 | - | Micro links |
| Button Small | 10px | 400 | - | Tag buttons |
| Caption XS | 10px | 400 | - | Tiny captions |

## Spacing & Grid
Base: 8px grid
Scale: 1px, 3px, 5px, 8px, 18px, 20px, 22px, 30px, 35px
Use 5px for tight component spacing, 8px for base padding, 20–35px for large section gaps.

## Border Radius
- sm: 2px — Small buttons
- md: 4px — Medium buttons
- lg: 6px — Larger buttons

## Shadows & Depth
Flat design—use borders for separation, no shadows.

## Components

### Primary Button
```css
.btn-primary {
  background: #ff4036;
  color: #ffffff;
  padding: 1px;
  border-radius: 2px;
  font-family: "MYRIADPRO-LIGHTSEMIEXT";
  font-size: 24px;
  font-weight: 400;
  border: 1px solid #eeeeee;
  box-shadow: none;
  outline: none;
  opacity: 1;
}
```

### Link Styles
```css
.link-dark { color: #161616; text-decoration: none; }
.link-gray { color: #999999; text-decoration: none; }
.link-mid { color: #323232; text-decoration: none; }
.link-light { color: #a0a2a8; text-decoration: none; }
```

### Input Field
```css
.input-text {
  background: #fafafa;
  color: #aaaaaa;
  border: 1px solid #aaaaaa;
  border-radius: 0px;
  padding: 8px 8px 8px 10px;
  box-shadow: none;
  outline: none;
}
.input-text:focus {
  background: #ffffff;
  border: 1px solid #323232;
}
```

## Layout & Responsive Rules
Max content width: not specified
Page padding: multiples of 8px
Grid gap: use 5px or 8px for dense layouts

## Interaction Rules
- Transition timing: 150ms ease for state changes
- Focus indicators: 1px solid #005fcc or #26ade4 depending on context
- No hover color data provided — maintain same background unless specified

## DO
- Use ONLY colors from the palette—no custom colors
- Maintain 8px grid—all spacing must be multiples of 8px (except micro 5px)
- Use MYRIADPRO-LIGHTSEMIEXT for all text
- Keep border radii small (2px, 4px, 6px)
- Use red (#ff4036) only for primary actions

## DON'T
- Add shadows
- Mix rounded and sharp corners
- Use bold weight for large headings
- Use mid-gray (#999999) for primary text
- Introduce gradients

## Code Examples

### Button
```css
.btn-primary {
  background: #ff4036;
  color: #ffffff;
  padding: 1px;
  border-radius: 2px;
  font-size: 24px;
  font-family: "MYRIADPRO-LIGHTSEMIEXT";
}
```

### Card
```css
.card {
  background: #ffffff;
  border: 1px solid #dadada;
  border-radius: 4px;
  padding: 8px;
}
```

### Input
```css
.input-text {
  border: 1px solid #aaaaaa;
  padding: 8px 8px 8px 10px;
  background: #fafafa;
}
.input-text:focus {
  border-color: #323232;
}
```

9. Summary

TL;DR — Tplinkcloud’s design language is grayscale-first, with one urgent red and one calm blue for interaction. Typography is a single light-extended family across all sizes. The system is flat, with tiny corner radii and an 8px grid. It’s built for clarity and speed, not decoration.

Brand Keywords:

  • utilitarian-minimalist
  • controlled-palette
  • flat-interface
  • urgent-accent
  • grid-disciplined