Rethinking the Term "Primitives" in Design Systems

Jan 8, 2025

Introduction

Language matters. In design systems, the words we choose to describe concepts shape how they are understood and adopted across teams. One term that has gained traction is “primitives.” It refers to the foundational building blocks—like color scales, typography, and spacing—that underpin a design system.

While widely used, I believe “primitives” can feel vague and even a little alienating, especially for those outside the design or development bubble. This blog explores why we might need a clearer, more inclusive term and proposes alternatives that could enhance collaboration and understanding across all levels of a team.

Why "Primitives" May Miss the Mark

"Primitives" originated in programming, where it describes basic data types (like integers or strings). While this makes sense to developers, it’s not as intuitive for designers, stakeholders, or others who may not have a technical background. Consider these common challenges:

  • Unclear meaning: Non-technical team members may struggle to grasp what "primitives" refers to without detailed explanation.

  • Cognitive friction: Designers new to tokens may not immediately connect the term to its role in creating scalable design systems.

  • Lost context: Stakeholders might see "primitives" as jargon, which can hinder their understanding of the system's value.

If a term requires frequent explanation, it risks slowing down workflows or creating misalignment across teams.

What Are We Talking About, Really?

Primitives are the core design tokens that define the base values of a system. These include:

  • Color tokens: The foundational scales for primary, secondary, and neutral colors.

  • Typography tokens: Font sizes, weights, line heights, and letter spacing.

  • Spacing tokens: Margins and paddings that create consistency in layout.

These are the starting points for every design decision. So, why not use a term that better reflects their importance and function?

Proposing Alternatives: Root and Foundation

Root

The term "root" suggests origin and hierarchy. It conveys the idea that these tokens are the starting point from which everything else grows. For example:

  • Root colors: Base values for color scales.

  • Root typography: Foundational sizes and spacing for type.

For developers, "root" ties neatly into concepts like CSS variables (e.g., :root). This alignment can make collaboration between designers and developers more seamless, while also being simple enough for stakeholders to understand.

Foundation

"Foundation" evokes strength and stability. It positions these tokens as the bedrock of your design system. For example:

  • Foundation colors: Core hues that persist across themes.

  • Foundation typography: Typographic rules that ensure readability and consistency.

The term “foundation” is familiar to non-technical audiences and underscores the permanence of these tokens while leaving room for scalability.

Balancing Perspectives Across Teams

Choosing the right terminology isn’t just about clarity; it’s about creating alignment across disciplines. Here’s how these alternatives resonate with different audiences:

Developers

  • Root: Familiar from CSS and global variable concepts.

  • Foundation: Clear and stable but might feel less "technical."

Stakeholders

  • Root: A bit abstract, but can work with proper documentation.

  • Foundation: Instantly conveys stability and purpose, making it easier to explain the system’s value.

Designers

Both terms feel accessible compared to "primitives," reducing the cognitive load for those new to tokens or systems.

Why This Matters

The language we use in design systems isn’t just semantics—it impacts how systems are communicated, adopted, and maintained. By choosing terms that are clear and inclusive, we can:

  • Foster stronger cross-functional collaboration.

  • Make onboarding easier for new team members.

  • Ensure stakeholders understand and support the design system’s value.

The term “primitives” has served the design community well, but is it time for a change? Let’s rethink how we communicate the fundamentals of design systems.

  • Could "root" or "foundation" make your design system more accessible?

  • What other terms could bridge the gap between technical and non-technical teams?

I’d love to hear your thoughts. Let’s collaborate to evolve the language of design systems in a way that benefits everyone.