BrandToPrompt

Heylink Design System: Minimal Mobile-First UI Language

Visit Site

Explore Heylink's design system - muted colors, Inter typography, 8px grid. Build clear, mobile-first link hubs with Heylink's visual language.

5 min read990 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Inter

Design Style

Style
minimalist with soft shadows and muted tones
Visual Density
airy layout with 8px grid and generous whitespace
Border Style
consistent rounded corners at 8px and 16px, with pill buttons

Full Analysis

Heylink Design System Deep-Dive

1. Brand Overview

Heylink is a link-in-bio and digital presence platform. The vibe is functional with a touch of tech polish. The site is clearly built for creators, small businesses, and anyone who needs a simple hub to point followers or customers to. The design feels confident but not flashy — it's a restrained palette, a single font family, clean spacing, and rounded corners everywhere.

This is not a brand chasing hyper-creative, illustrative UI. It’s about clarity and ease of use. The typography screams “modern sans” — Inter everywhere, with weights from 400 to 800 depending on hierarchy. They’re clearly leaning into web-native readability rather than decorative flair. The color choices are muted: deep navy (rgb(31, 52, 71)) for main text and accents, paired with a bright but non-aggressive secondary blue (rgb(11, 152, 231)). White surfaces dominate, keeping layouts airy.

Buttons and interactive states are understated. There’s a lot of rounded corners — 8px and 16px radii dominate, with occasional full pills (50% or 100px). Shadows are used sparingly, mostly soft greys for depth. The spacing scale is built on an 8px grid, which keeps everything aligned and predictable. Breakpoints start at small device widths (400px) and go up to tablet-ish (896px), suggesting they’ve optimized for mobile-first layouts.

Overall: Heylink’s design system is about trust and usability. The visual language is minimal but approachable, and everything serves the functional goal — get users to add links, present them clearly, and make them easy to click. No fluff. This works because their audience values speed and clarity over visual complexity.


2. Color System

2.1 Primary Colors

Their semantic primary color is rgb(31, 52, 71) — a deep, desaturated navy. It’s used for text, icons, and some borders. This choice conveys stability and professionalism. It’s darker than the blues used by many link-in-bio competitors (Linktree’s greens, Beacons’ brighter purples). Heylink’s secondary is rgb(11, 152, 231) — a clean, medium-light blue for accents and possibly CTAs.

The combination is conservative but effective: primary navy for trust and readability, secondary blue for action and focus. They avoid neon or saturated hues, which keeps the brand feeling grounded.

2.2 Complete Palette

Color NameHexRoleUsage
Primary Navy#1f3447Main brand colorText, icons, primary accents
Secondary Blue#0b98e7Accent colorCTAs, focus states, highlights
White#ffffffBackgroundPage surfaces, cards, text on dark
Navy 60% Opacity#1f3547Muted textSecondary text, disabled states
Indigo#3a3aa8AccentRare, possible special highlights
Aqua Light#95e7e7Hover/focusHover indicators
Aqua Light Variant#96e7e7Hover/focusHover indicators
Aqua Light Variant 2#97e8e7Hover/focusHover indicators

2.3 Color Relationships

Contrast is generally strong — navy (#1f3447) on white (#ffffff) is well above WCAG AA. Secondary blue (#0b98e7) also pops well against white. The aqua hover colors are borderline for text contrast; they’re used as backgrounds or overlays, where contrast isn’t critical.

There’s no dark mode palette in the extracted data — everything assumes a light background.

2.4 Usage Guide

  • Works well: Navy text on white, blue accents on white, white text on navy or blue backgrounds.
  • Avoid: Aqua hover colors as text — they’re too light against white.
  • Primary navy should be used for non-interactive text and icons.
  • Secondary blue is for interactive or highlight states — don’t use it for body text.

3. Typography

3.1 Font Families

Inter is the only typeface. Sourced from Google Fonts, with variable font support. No fallbacks specified in extracted data, but standard would be Inter, sans-serif.

3.2 Type Scale

ElementFontSizeWeightLine Height
Heading-1Inter64px (4.00rem)8001.10
Heading-1Inter36px (2.25rem)7001.10
Heading-1Inter28px (1.75rem)6001.10
Heading-1Inter18px (1.13rem)5001.20
LinkInter16px (1.00rem)4001.20
LinkInter16px (1.00rem)5001.50
Heading-1Inter16px (1.00rem)5001.50
Heading-1Inter16px (1.00rem)4001.20
ButtonInter16px (1.00rem)4001.20
LinkInter14px (0.88rem)4001.40
CaptionInter14px (0.88rem)4001.20

3.3 Hierarchy

They’re using multiple "Heading-1" contexts with different sizes — possibly breakpoints or section titles. The big 64px is a hero headline, 36px for subheads, 28px for smaller titles. Body/link/caption at 14–16px keeps readability high. Weight jumps (400 → 800) create strong hierarchy without changing font. Line heights are tight for headings (1.10), looser for body (1.40–1.50).


4. Spacing & Layout

4.1 Spacing Scale

Base scale is 8px — confirmed by repeated values at multiples of 4 and 8.

ValueUsage CountNotes
4px4Icon gaps
6px14Tight element spacing
8px36Core padding unit
10px7Slightly larger than tight spacing
12px14Button padding
13px1Odd one-off
14px131Common text padding/margins
15px1One-off
16px12Standard component padding
20px1Section gap
24px9Card padding
25px6One-off size
30px2Section spacing
32px5Larger padding
40px8Section spacing
60px1Large gap
70px1Hero spacing
80px4Big margins
88px2Hero spacing
98px2Hero spacing

4.2 Layout

Breakpoints:

  • 400px
  • 426px
  • 530px
  • 550px
  • 600px
  • 896px

These indicate mobile-first scaling, with adjustments for small tablets.


5. Visual Elements

Border Radius

ValueUsage CountComponents
8px11Div, button, link
16px22Div, img, link
100px2Pill buttons
50%7Avatars, round badges

Rounded corners are consistent — no sharp edges for interactive elements.

Shadows

ShadowCountNotes
rgb(204, 204, 204) -2px 3px 7px 0px15Soft grey offset
rgba(31, 52, 71, 0.04) 0px 8px 16px 0px6Very subtle navy shadow
rgba(0, 0, 0, 0.25) 0px 3.8px 19px 0px2Stronger depth
rgba(0, 0, 0, 0.2) 0px 4px 8px 0px2Medium depth

Borders

Two combos:

  • 5px solid rgba(255, 255, 255, 0.49)
  • 1px solid rgb(222, 222, 222)

6. Components

6.1 Buttons

Common style: .common-button_gray

Default:

  • Background: transparent
  • Color: rgb(31, 52, 71)
  • Padding: 0px
  • Border radius: 8px
  • Border: 1px solid rgb(222, 222, 222)
  • No shadow

Hover:

  • Color: white
  • Background: white (odd — same as text)
  • Transform: translate(0.5em, -50%) scale(1)

Active:

  • Background: rgb(44, 100, 21) — dark green
  • Color: white
  • Border: 1px solid rgba(162, 192, 169, 0.5)

Focus:

  • Background: rgb(30, 174, 219)
  • Color: white
  • Border: 1px solid black
  • Opacity: 0.9

Font: 16px, weight 500.

Three styles:

  1. Navy links:
    • Default: navy, no underline
    • Hover: grey, no underline
  2. White links:
    • Default: white, underline
    • Hover: grey, no underline
  3. Muted navy (60% opacity):
    • Default: muted, no underline
    • Hover: grey, no underline

6.3 Forms

No input styles extracted — likely native Vuetify inputs styled minimally.

6.4 Cards

Shadows used for depth, padding in 24–32px range, rounded corners at 16px.


7. Design Tokens (CSS Variables)

:root {
  /* Colors - semantic */
  --color-primary: #1f3447;
  --color-secondary: #0b98e7;

  /* Colors - palette */
  --color-white: #ffffff;
  --color-navy-60: #1f3547;
  --color-indigo: #3a3aa8;
  --color-aqua-light: #95e7e7;
  --color-aqua-light-variant: #96e7e7;
  --color-aqua-light-variant2: #97e8e7;

  /* Typography */
  --font-family-base: 'Inter', sans-serif;
  --font-size-h1-xl: 64px;
  --font-size-h1-lg: 36px;
  --font-size-h1-md: 28px;
  --font-size-h1-sm: 18px;
  --font-size-body-lg: 16px;
  --font-size-body-sm: 14px;
  --line-height-tight: 1.10;
  --line-height-normal: 1.20;
  --line-height-loose: 1.40;
  --line-height-looser: 1.50;

  /* Spacing */
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-13: 13px;
  --space-14: 14px;
  --space-15: 15px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-25: 25px;
  --space-30: 30px;
  --space-32: 32px;
  --space-40: 40px;
  --space-60: 60px;
  --space-70: 70px;
  --space-80: 80px;
  --space-88: 88px;
  --space-98: 98px;

  /* Border radius */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-pill: 100px;
  --radius-full: 50%;

  /* Shadows */
  --shadow-grey-soft: rgb(204, 204, 204) -2px 3px 7px 0px;
  --shadow-navy-subtle: rgba(31, 52, 71, 0.04) 0px 8px 16px 0px;
  --shadow-black-strong: rgba(0, 0, 0, 0.25) 0px 3.8px 19px 0px;
  --shadow-black-medium: rgba(0, 0, 0, 0.2) 0px 4px 8px 0px;
}

8. AI Coding Assistant Prompt

# Heylink Design System Specification

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

## Brand Context
Heylink values clarity, trust, and usability. The design is minimal, rounded, and mobile-friendly. Colors are muted blues with white surfaces. Typography is modern and sans-serif, aiming for readability and hierarchy without ornamentation.

## Color Palette
- Primary Navy: #1f3447 — Main text, icons, primary accents
- Secondary Blue: #0b98e7 — CTAs, focus states, highlights
- White: #ffffff — Backgrounds, card surfaces
- Navy 60%: #1f3547 — Secondary text, disabled states
- Indigo: #3a3aa8 — Occasional accents
- Aqua Light: #95e7e7 — Hover/focus backgrounds
- Aqua Light Variant: #96e7e7 — Hover/focus backgrounds
- Aqua Light Variant 2: #97e8e7 — Hover/focus backgrounds

## Typography
Font family: 'Inter', sans-serif (Google Fonts, variable)
Type scale:
- H1 XL: 64px, weight 800, line-height 1.10 — Hero titles
- H1 LG: 36px, weight 700, line-height 1.10 — Section titles
- H1 MD: 28px, weight 600, line-height 1.10 — Subsection titles
- H1 SM: 18px, weight 500, line-height 1.20 — Small headings
- Body LG: 16px, weight 400, line-height 1.20 — Body text
- Body MD: 16px, weight 500, line-height 1.50 — Links, labels
- Caption: 14px, weight 400, line-height 1.20 — Metadata

## Spacing & Grid
Base: 8px grid. Values: 4, 6, 8, 10, 12, 13, 14, 15, 16, 20, 24, 25, 30, 32, 40, 60, 70, 80, 88, 98px.
Use multiples for padding, margins, and gaps.

## Border Radius
- sm: 8px — buttons, small elements
- md: 16px — cards, images
- pill: 100px — pill buttons
- full: 50% — avatars, circular badges

## Shadows & Depth
- Soft grey: rgb(204, 204, 204) -2px 3px 7px 0px — cards
- Subtle navy: rgba(31, 52, 71, 0.04) 0px 8px 16px 0px — elevated surfaces
- Strong black: rgba(0, 0, 0, 0.25) 0px 3.8px 19px 0px — modal overlays
- Medium black: rgba(0, 0, 0, 0.2) 0px 4px 8px 0px — hover depth

## Component Specifications

### Primary Button
Default:
- background: transparent
- color: #1f3447
- padding: 0
- border-radius: 8px
- border: 1px solid #dedede
- font: 16px, weight 500
Hover:
- background: #ffffff
- color: #ffffff
Active:
- background: rgb(44, 100, 21)
- color: #ffffff
- border: 1px solid rgba(162, 192, 169, 0.5)
Focus:
- background: #1eaedb
- color: #ffffff
- opacity: 0.9
- border: 1px solid #000000

### Link Styles
Navy:
- default: #1f3447, no underline
- hover: #565656, no underline
White:
- default: #ffffff, underline
- hover: #565656, no underline
Muted:
- default: rgba(31, 53, 71, 0.6), no underline
- hover: #565656, no underline

### Card
- background: #ffffff
- border-radius: 16px
- padding: 24–32px
- shadow: soft grey or subtle navy

## Layout & Responsive Rules
Breakpoints: 400px, 426px, 530px, 550px, 600px, 896px.
Mobile-first scaling. Adjust typography and spacing at breakpoints.

## Interaction Rules
- Transitions: 150ms ease for hover/focus/active
- Focus indicators: color change + border
- Hover states: color + background change

## DO List
- Use only defined palette colors
- Maintain 8px grid
- Use Inter for all text
- Keep corners rounded consistently
- Use shadows sparingly
- Follow button state specs exactly

## DON'T List
- Don't introduce new colors
- Don't mix sharp corners with rounded
- Don't use aqua hover colors for text
- Don't skip hover/focus styles
- Don't apply heavy shadows to all elements

## Code Examples

### Primary Button
```css
.btn-primary {
  background: transparent;
  color: #1f3447;
  padding: 0;
  border-radius: 8px;
  border: 1px solid #dedede;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 500;
  transition: all 150ms ease;
}
.btn-primary:hover {
  background: #ffffff;
  color: #ffffff;
}
.btn-primary:active {
  background: rgb(44, 100, 21);
  color: #ffffff;
  border: 1px solid rgba(162, 192, 169, 0.5);
}
.btn-primary:focus {
  background: #1eaedb;
  color: #ffffff;
  opacity: 0.9;
  border: 1px solid #000000;
}
```

### Card
```css
.card {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: rgba(31, 52, 71, 0.04) 0px 8px 16px 0px;
}
```

### Link
```css
.link {
  color: #1f3447;
  text-decoration: none;
}
.link:hover {
  color: #565656;
}
```

9. Summary

TL;DR — Heylink’s design system is minimal, navy-and-blue, rounded, and built on an 8px grid. Inter is the only font. Shadows are soft and rare. Buttons have clean state changes. Everything is mobile-first.

Brand Keywords: trust-focused, minimal-rounded, mobile-first, functional-clean