Building a Design System from Scratch: A Comprehensive Guide

Building a Design System from Scratch: A Comprehensive Guide

Building a Design System from Scratch: A Comprehensive Guide

This is the first lesson in our Design Systems course. I'll cover the basics, look at successful examples, learn how to set them up, avoid common mistakes, and follow important rules.

This is the first lesson in our Design Systems course. I'll cover the basics, look at successful examples, learn how to set them up, avoid common mistakes, and follow important rules.

This is the first lesson in our Design Systems course. I'll cover the basics, look at successful examples, learn how to set them up, avoid common mistakes, and follow important rules.

Riccardo Marconato

Dec 18, 2023

Riccardo Marconato

Dec 18, 2023

Riccardo Marconato

Dec 18, 2023

Hey 👋 I’m Riccardo, and welcome to the Design Systems course!

What exactly is a Design System? What's its purpose? Why are they so crucial? How do you create and develop one? In this course, I'll break it all down for you. We'll start with the basics, check out some successful examples, learn how to set them up, avoid common pitfalls, and follow essential guidelines.

The course is broken down into several lessons. In today’s intro session, we’ll dive into what a Design System is—and what it isn’t. We’ll talk about its importance, the benefits it brings to design and development teams, and check out some successful use cases.

Definition of Design Systems

There's no single, definitive definition of a Design System, and it's not crucial for you to have one. However, here's my take:

A Design System acts as a source of truth for organizations, making sure their visual and interactive communication stays consistent. It offers a scalable, reusable set of assets and clear, widely accepted guidelines.

Here are a few other definitions I found online that I agree with and might help clarify your ideas.

Chad Bergman, Figma Designer Advocate, says in the Figma blog that "At its core, a design system is a set of building blocks and standards that help keep the look and feel of products and experiences consistent." [source]

Will Fanguy from Invision says that "A design system is a collection of reusable components, guided by clear standards, that can be assembled together to build any number of applications." [source]

Chris Messina, tech evangelist and former developer experience lead at Uber, says that “Design systems provide a convenient, centralized, and evolving map of a brand’s known product territories with directional pointers to help you explore new regions.” [source]

You can see that while the definition changes, the underlying idea stays the same.

Benefits of a Design System

Now that we have a better understanding of what a Design System is, let's talk about its benefits. Implementing a Design System can bring numerous advantages, such as:

  • Consistency: A well-established Design System ensures consistency across all products and experiences, creating a cohesive brand image.

  • Efficiency: By having a set of reusable assets and guidelines, designers and developers can work more efficiently, avoiding duplicating efforts.

  • Scalability: A Design System allows for the scalability of projects since it provides a solid foundation to build upon.

  • Collaboration: With a shared source of truth, teams can collaborate seamlessly and save time by not having to recreate components or design elements from scratch.

Real Scenarios Where a Design System Is Invaluable

  1. Consistent Branding Across Platforms:

    • Use Case: A company wants to maintain consistent branding across its website, mobile app, and marketing materials.

    • How it Helps: The design system provides a centralized repository of brand assets such as colors, typography, logos, and design elements. Designers can easily reference these assets to ensure consistency in visual identity across different platforms. Developers can access pre-defined styles and components to implement the design accurately.

  2. Efficient Collaboration Between Designers and Developers:

    • Use Case: A design team is working on a new feature for a web application, and they need to collaborate closely with developers to ensure smooth implementation.

    • How it Helps: The design system serves as a shared language between designers and developers. Designers can create UI mockups using predefined components and styles from the design system, making it easier for developers to understand and implement the designs accurately. Developers can also provide feedback on the design system, helping to improve its usability and effectiveness over time.

  3. Faster Prototyping and Iteration:

    • Use Case: A startup is rapidly iterating on its product design to find the most user-friendly solution.

    • How it Helps: With a design system in place, designers can quickly prototype new ideas using existing components and styles. This speeds up the design process and allows for rapid iteration based on user feedback. Developers can also easily implement changes since they are working with predefined components and styles, reducing development time and effort.

  4. Scalability Across Projects:

    • Use Case: A large enterprise company has multiple products and platforms that need to maintain a consistent design language.

    • How it Helps: A design system provides a scalable solution for managing design assets and components across multiple projects. Designers can create new products or features using existing components from the design system, ensuring consistency across the company's entire ecosystem. Developers can reuse code and design patterns from the design system, saving time and effort on development.

  5. Accessibility and Usability Compliance:

    • Use Case: A government agency needs to ensure that its digital services are accessible to all citizens, including those with disabilities.

    • How it Helps: The design system includes accessibility guidelines and best practices for designers and developers to follow. This ensures that all digital assets meet accessibility standards, such as proper color contrast, keyboard navigation, and screen reader compatibility. By incorporating accessibility into the design system, the agency can create inclusive digital experiences for all users.

Successful Examples of Design Systems

  1. Google Material Design:

    • Description: Material Design is Google's design language introduced in 2014. It emphasizes a unified experience across platforms and devices, with a focus on clean, minimalistic design, bold colors, and meaningful motion. Material Design provides guidelines, components, and tools for designers and developers to create cohesive and intuitive user interfaces.

    • Key Features: Material Design offers a comprehensive set of components such as buttons, cards, and navigation drawers, along with guidelines for layout, typography, color schemes, and motion. It also includes tools like Material Design Lite (MDL) and Material-UI for implementing Material Design in web and mobile applications.

  2. Apple Human Interface Guidelines (HIG):

    • Description: Apple's Human Interface Guidelines provide design principles and guidelines for creating apps across Apple's platforms, including iOS, macOS, watchOS, and tvOS. The HIG emphasizes clarity, simplicity, and consistency in design, aiming to provide users with intuitive and delightful experiences.

    • Key Features: The HIG covers various aspects of app design, including interface elements, navigation patterns, iconography, typography, and animation. It also provides guidance on accessibility, usability, and app performance. Developers can access UI components and design resources through Apple's developer documentation.

  3. IBM Design Language:

    • Description: IBM Design Language is a comprehensive design system developed by IBM to unify the design of its products and services. It focuses on user-centered design, accessibility, and inclusivity, aiming to create experiences that are intuitive, efficient, and accessible to all users.

    • Key Features: The IBM Design Language includes guidelines, patterns, and resources for designing digital products and services. It covers various aspects of design, including typography, color, iconography, layout, and interaction. IBM also provides tools like Carbon Design System, which offers UI components and design assets for building IBM-branded applications.


  4. Ant Design:

    • Description: Ant Design is a design system developed by Ant Group, a subsidiary of Alibaba Group. It is widely used for building web applications with a focus on design consistency, usability, and developer experience. Ant Design follows the principles of simplicity, efficiency, and accessibility.

    • Key Features: Ant Design provides a comprehensive library of UI components such as buttons, navigation menus, and form controls, along with guidelines for layout, color schemes, and typography. It also offers tools like Ant Design Pro, a development framework for building enterprise-level applications. Ant Design is known for its extensive documentation, community support, and active development.

These design systems have gained widespread adoption and recognition for their contributions to design consistency, usability, and developer productivity across various platforms and industries.

Are Design Systems Useful for a Single Designer/Developer or Smaller Teams?

Of course.

We often look to big companies like Google and Apple as examples because they excel at creating Design Systems. But the concept is just as important for small projects and teams, even if it's just one person.

I've worked on Design Systems at major companies and created them for my own projects. For personal use, a Design System feels like a collection of components and styles, similar to a UI kit. In large companies, though, a Design System is much more than that—it's a mix of many elements that we'll dive into together in the upcoming lessons.

ABOUT THE AUTHOR

Riccardo Marconato

Creative Designer specializing in Product Design and Design Systems. Over 10 years of experience, multiple awards, and international project contributions.

ABOUT THE AUTHOR

Riccardo Marconato

Creative Designer specializing in Product Design and Design Systems. Over 10 years of experience, multiple awards, and international project contributions.

ABOUT THE AUTHOR

Riccardo Marconato

Creative Designer specializing in Product Design and Design Systems. Over 10 years of experience, multiple awards, and international project contributions.

Read more about

Design System