Mi Brand Design System Deep-Dive
1. Brand Overview
Mi’s digital presence is a direct extension of its physical product philosophy: practical technology with a consumer-friendly edge. This is not a brand chasing avant-garde aesthetics. It’s clean, functional, and built for speed. The site has the feel of a storefront—straight to the point, minimal distractions, letting the product visuals do most of the talking.
The vibe is utilitarian with a faint nod to classic design. You can see that in the typography choice—Times as the heading font is a surprising move for a tech brand. Most tech players go sans-serif for a modern look. Times introduces a subtle sense of tradition, maybe to project reliability or heritage. It’s a deliberate departure from competitors like Apple, Samsung, or OnePlus who lean on geometric sans-serifs.
The absence of a visible color palette in the extracted data hints at a design strategy that might be image-first. Instead of heavy brand colors baked into the UI, Mi’s web design may rely on product shots, lifestyle photography, and minimal interface chrome. This pushes the visual weight away from the UI frame and onto the content.
Spacing is clearly on an 8px grid, which is industry standard for responsive, scalable design. The extracted values—8px, 16px, and 21.44px—show consistency but also a willingness to break the grid slightly (21.44px is an odd number). That tells me they’re not religious about pixel-perfect multiples if typography or layout demands it.
The overall philosophy? Controlled minimalism. Keep the interface light, product-focused, and fast. Use spacing and typography to guide hierarchy instead of heavy colors or complex components.
2. Color System
2.1 Primary Colors
From the extracted data, there’s no explicit primary color value. That’s unusual. It means the site either:
- Uses colors embedded in imagery for brand feel.
- Depends on CSS variables that weren’t captured in the extraction.
- Or runs mostly monochrome with accents only in specific spots.
For a tech brand, that’s bold. Most would define a primary accent (orange, blue, etc.) for CTAs. Mi appears to lean into neutrality—possibly white backgrounds with black/gray typography—and lets product colors pop.
2.2 Complete Palette
The extracted palette is empty. So, no hex codes available, no semantic mapping. This is rare in a design system analysis, but it’s worth documenting.
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| (No data) | (No data) | (No data) | (No data) |
This absence tells us something about their design approach: they may be loading colors dynamically via JS, or using embedded SVGs/images for brand marks instead of CSS-driven colors.
2.3 Color Relationships
Without explicit tokens, we can’t calculate contrast ratios. But from observation of minimalist tech sites, if they’re using black text on white backgrounds, that’s AAA-compliant for WCAG. The lack of a dark mode token set also suggests they may not support dark mode (or it’s handled via image assets).
2.4 Usage Guide
With no palette, the usage guide becomes more about philosophy:
- Use neutral backgrounds to maximize product image impact.
- Keep text high-contrast (black or dark gray on white).
- Introduce accent colors sparingly—only for interactive elements like buttons or links.
- Avoid heavy color blocks; let whitespace carry the layout tension.
3. Typography
3.1 Font Families
Two heading-1 contexts are defined, both using Times with no fallback stack listed in data. This is classic serif territory—strong vertical stress, moderate contrast in strokes. Not a typical tech choice.
No Google Fonts, no Adobe Fonts, no variable fonts. That means system fonts or self-hosted. Times is almost universal, which simplifies performance but limits typographic personality.
3.2 Type Scale
From extracted data:
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| Heading-1 | Times | 32px (2.00rem) | 700 | (null) |
| Heading-1 | Times | 16px (1.00rem) | 400 | (null) |
Odd—two H1 styles, one large and bold, one small and regular. This could mean context-specific overrides (e.g., hero banner vs product card title). The lack of line-height means spacing is driven by margins, not type metrics.
3.3 Hierarchy
A 32px bold serif H1 is strong—great for page titles or hero sections. The 16px regular serif is unusual for any kind of H1 designation; it could be a mislabel in the data or a style variant for compact layouts.
Hierarchy here is minimal—two sizes, two weights. This pushes designers to rely on spacing, imagery, and layout rather than a complex type scale.
4. Spacing & Layout
4.1 Spacing Scale
The site uses an 8px scale. Extracted values:
| Value | REM | Count | Notes |
|---|---|---|---|
| 8px | 0.50rem | 2 | Small gaps, icon padding |
| 16px | 1.00rem | 4 | Default gutter, button padding |
| 21.44px | 1.34rem | 2 | Slightly off-grid, likely tied to font metrics |
The 21.44px is interesting—it’s probably the result of a 1.34rem value derived from a base font size of 16px. This kind of number appears when designers use relative units tied to typography rather than the spacing grid.
4.2 Layout
No explicit breakpoints extracted. That means container widths and responsive behavior are handled elsewhere. Without breakpoints, I can’t map exact responsive rules—but the 8px grid implies a flexbox/grid-based approach with consistent vertical rhythm.
5. Visual Elements
- Border Radius: None defined. Flat corners across the interface.
- Shadows: None. This is flat design—depth comes from layering and spacing, not shadows.
- Borders: No combinations defined. Likely minimal borders, maybe only for inputs or table cells.
This makes the UI crisp, modern, and lightweight. Flat corners + no shadows = a utilitarian feel.
6. Components
This is where it gets sparse. Extracted data shows no buttons, no inputs, no links styled via CSS tokens. Again, likely styled in CSS but not captured here—could be inline variables or external frameworks.
6.1 Buttons
No extracted values. Philosophically, in a no-color, flat design system, buttons would be:
- Solid fill with high-contrast text.
- Minimal border radius (0px).
- Padding in multiples of 8px.
6.2 Links
No data. Likely standard HTML links with color override.
6.3 Forms
No input styling extracted.
6.4 Cards
No card styling extracted—depth probably via spacing, not shadows.
7. Design Tokens
Here’s the CSS variables file from actual extracted values only:
:root {
/* Typography */
--font-heading-1-family: "Times";
--font-heading-1-size-lg: 32px;
--font-heading-1-weight-lg: 700;
--font-heading-1-size-sm: 16px;
--font-heading-1-weight-sm: 400;
/* Spacing */
--space-8px: 8px; /* 0.50rem */
--space-16px: 16px; /* 1.00rem */
--space-21_44px: 21.44px; /* 1.34rem */
/* Border Radius */
/* none defined */
/* Colors */
/* none defined */
/* Shadows */
/* none defined */
}8. AI Coding Assistant Prompt
# Mi Design System Specification
You are a Mi design expert. Build UIs matching their visual language exactly.
## Brand Context
Mi’s design language is minimal, product-focused, and neutral. Typography uses classic serif (Times) for headings, giving a subtle traditional edge to a tech brand. Layouts follow an 8px grid with occasional typography-driven spacing deviations. No heavy brand colors—emphasis is on content and imagery.
## Color Palette
(No explicit colors extracted)
- Background: White — page surfaces
- Text Primary: Black — headings, body copy
- Text Secondary: Gray — captions, placeholders
- Accent: (from imagery) — highlights in buttons or links
- Error/Success: Not defined — use high contrast if needed
## Typography
- Heading Font: "Times"
- No fallbacks extracted
- Sizes:
- H1 Large: 32px, weight 700
- H1 Small: 16px, weight 400
- Use Large H1 for hero or page titles, Small H1 for compact contexts.
## Spacing & Grid
Base: 8px grid
Scale:
- 8px — small gaps, icon padding
- 16px — button padding, section gaps
- 21.44px — typography-relative spacing
## Border Radius
- none: 0 — all components have square corners
## Shadows & Depth
Flat design—avoid shadows. Use spacing for separation.
## Component Specifications
### Primary Button
```css
.btn-primary {
background: black;
color: white;
padding: 8px 16px;
border-radius: 0;
font-family: "Times";
font-size: 16px;
font-weight: 700;
border: none;
transition: background 150ms ease;
}
.btn-primary:hover { background: #333; }
.btn-primary:focus { outline: 2px solid black; outline-offset: 2px; }
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
```
### Navigation Links
```css
.nav-link {
color: black;
text-decoration: none;
}
.nav-link:hover { text-decoration: underline; }
```
### Input Fields
```css
.input {
border: 1px solid #ccc;
border-radius: 0;
padding: 8px;
font-family: "Times";
font-size: 16px;
}
.input:focus { border-color: black; outline: none; }
```
### Card
```css
.card {
background: white;
border-radius: 0;
padding: 16px;
border: 1px solid #eee;
}
```
## Layout & Responsive Rules
- Maintain 8px grid alignment.
- Use full-width containers with max-width handled via CSS media queries.
- Adjust padding based on viewport size.
## Interaction Rules
- Transition timing: 150ms ease for hover/focus changes.
- Focus indicators: 2px solid outline.
- No motion-heavy animations.
## DO List
- Use only neutral colors for UI chrome.
- Maintain 8px spacing multiples.
- Keep corners square.
- Use Times font for headings.
- Keep designs flat—no shadows.
## DON'T List
- Don’t introduce new brand colors.
- Don’t use rounded corners.
- Don’t add drop shadows.
- Don’t overload UI with borders—prefer whitespace.
- Don’t mix serif and sans-serif for headings.
## Code Examples
### Button
```css
<button class="btn-primary">Buy Now</button>
```
### Card
```css
<div class="card">Product details here</div>
```
### Input
```css
<input class="input" placeholder="Enter email">
```9. Summary
TL;DR — Mi’s design system is stripped-down and image-first. Serif headings, neutral backgrounds, and an 8px grid define the experience. No visible color tokens, no shadows, square corners—everything is about clarity and focus.
Brand Keywords:
- neutral-tech
- image-first
- serif-minimalist
- grid-disciplined
- flat-interface