The Design System We Use for Every Premium Product We Ship
All Articles
DesignFebruary 18, 20256 min read

The Design System We Use for Every Premium Product We Ship

Tokens, components, motion — the opinionated system behind every Vyncee interface and why it converts better.

Why We Built an Opinionated System

Every premium digital product feels the same way when it's done right: inevitable. Like it couldn't have been built any other way. The interactions are crisp, the hierarchy is clear, the motion adds meaning rather than noise.

That feeling doesn't happen by accident. It comes from a shared design language — a system of decisions made once and applied consistently everywhere.

Over the past three years, we've developed and refined the design system we apply to every product we ship. Here's the core of it.


Foundation Layer: Design Tokens

Design tokens are the atomic decisions your entire UI is built on. Not "use this blue" — but "this blue means trust, interactivity, and progress." Everything else derives from it.

Our token structure has three tiers:

Tier 1: Primitive tokens — raw values

{
  "color-blue-500": "#1E6AFF",
  "color-blue-700": "#3D1EFD",
  "color-green-500": "#05C168",
  "space-4": "16px",
  "radius-xl": "1rem",
  "radius-2xl": "1.5rem"
}

Tier 2: Semantic tokens — purpose-driven aliases

{
  "color-brand": "{color-blue-700}",
  "color-interactive": "{color-blue-500}",
  "color-success": "{color-green-500}",
  "color-surface": "#252C41",
  "color-background": "#181D2B",
  "color-text-primary": "#F7F8FC",
  "color-text-muted": "#6C7283"
}

Tier 3: Component tokens — scoped to a component

{
  "button-primary-bg": "{color-brand}",
  "button-primary-hover-bg": "{color-interactive}",
  "card-bg": "{color-surface}",
  "card-border": "#3B4151"
}

This hierarchy means a -brand color change propagates everywhere automatically. It also means engineers implement exactly what designers specified — because the same token names exist in Figma and in code.


Typography: The Contrast Principle

Our type system is built on contrast between voices. Most interfaces use a single typeface throughout — it reads as flat, forgettable. We use three:

  • Plus Jakarta Sans — the workhorse. Headlines, body, UI labels. Geometric sans-serif with personality.
  • Cormorant Garamond — the accent. Used exclusively for italic headline words, pull quotes, and moments that need to feel editorial or premium. Never for body copy.
  • JetBrains Mono — the technical voice. Tags, code, metrics, anything with a data or precision quality.

The effect is a hierarchy that feels intentional without being busy. The Cormorant italic creates rhythm — your eye is drawn to it, and it signals "this word matters."

Use the serif accent sparingly. One italic word per headline. One pull quote per section. It loses its power through overuse.


Spacing: An 8pt Grid with Intent

All spacing derives from an 8pt base unit. But mechanical consistency alone isn't enough — we add intentional breathing room at every level boundary.

Within a component: 8–16px Between components: 24–32px Between sections: 80–128px

The large inter-section gaps are where most interfaces fall short. Crowded sections feel anxious. Generous whitespace signals confidence and premium quality — it says "we have enough to say that we don't need to fill every pixel."


Component Architecture: The Three Layers

Every component in our system has three layers of consideration:

1. Structure — does the layout communicate hierarchy correctly at a glance?

2. State — does every interactive state (default, hover, focus, active, disabled, loading) feel intentional rather than accidental?

3. Motion — does the state transition add clarity or just decoration?

Here's our standard card hover interaction:

.card {
  transition: transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 300ms ease,
              box-shadow 300ms ease;
}

.card:hover {
  transform: translateY(-8px);
  border-color: var(--accent-color);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--accent-color) 15%, transparent);
}

The cubic-bezier (0.34, 1.56, 0.64, 1) is a slight overshoot — the card bounces just past its target position before settling. This feels alive in a way that linear or ease-out transitions don't.


Motion Principles

Our motion language has four rules:

1. Motion should be directional. Elements entering from scroll come from below. Elements dismissed exit upward. Navigation transitions move in the direction of navigation. Motion that respects spatial relationships builds a mental model.

2. Stagger creates hierarchy. When multiple elements animate together, stagger them by 80–120ms. The eye reads the stagger as a cascade and understands the relationship between elements.

3. Entrance duration ≠ exit duration. Elements should enter slowly (600–900ms) and exit fast (200–300ms). Slow entrances feel deliberate. Fast exits don't block the user from their next action.

4. Never animate on scroll without a purpose. Scroll-triggered animations earn attention — use them for content that benefits from progressive revelation. Don't animate every element just because you can.


Color: Dark-First, Accessibility-Always

Our dark theme uses four background tones to create depth without relying on shadows:

  • #181D2B — the canvas. Body, section backgrounds.
  • #1E2538 — one level up. Sidebar backgrounds, subtle differentiators.
  • #252C41 — cards, panels, elevated surfaces.
  • #3B4151 — borders, dividers, tertiary elements.

Every text color pair we use has been verified at WCAG AA contrast (4.5:1 minimum). This isn't optional — accessibility and aesthetics are not in conflict. A dark interface with poor contrast is a bad design decision, not a deliberate creative one.


The Conversion Impact

A design system isn't just an engineering efficiency tool — it has a direct business impact.

When every state is handled, every transition is smooth, and every component behaves predictably, users spend less cognitive effort understanding the interface and more time doing the thing the interface exists to help them do.

In our CRO work, interfaces rebuilt on systematic design consistently outperform their ad-hoc counterparts in time-to-first-action, form completion rate, and perceived trustworthiness.

The system is the product. Build it deliberately.

Continue Reading

More from the Studio