Mosaic Atomic Design System

building a base atomic based design system from scratch to streamline the creation of future projects.

Background

Blizzard relies on a variety of internal tools to ensure smooth daily operations. While some of these tools were designed years ago, new ones are still being developed.

Building new tools from scratch can be time-consuming. To address this challenge, our design team created a foundational atomic system, which we named "Mosaic."

Scope & Time

Scope: Competitive Analyses, System Audits, UI Designs, Component Design

Time: Ongoing project

Tools

Brainstorm/planning: Miro, Jira, Google Sheets

Design: Figma

Testing/insights: Maze, Dovetail

Collaboration: Zoom, Slack

My Role

I collaborated with a UX designer, a visual designer, and a team of developers to build and deliver a base design system from scratch.

My responsibilities included designing components in various states, auditing existing systems, conducting competitive analyses, and providing detailed documentation for components. Additionally, I worked closely with developers to ensure a consistent and accurate handoff from Figma to Storybook.

What I Did

  1. Audited existing systems
  2. Competitive analysis and field research
  3. User persona creation
  4. Iterative design approach: Double Diamond framework
  5. Design system documentation
  6. Collaboration between designers and stakeholders
  7. Roadmapping and planning

Results & Impact

We developed "Mosaic," a foundational atomic system of styles and components powering the creation of numerous internal tools.

Streamlined Building

Mosaic accelerates tool creation with reusable components, streamlining design with quick prototyping and theming.

Product Consistency

Components are refined through designer-developer collaboration, contributing to quality checks and high standards.

Expansion

Initially used by designers and developers in my department, but interest grew across teams, leading to a public Slack channel to share its benefits.

Table of Contents

Click each card to navigate to the respective section.

CONTEXT

Blizzard's growth drives the development of new internal tools for smooth operations.

Many internal tools were designed years ago, while new ones are developed to support growing teams and streamline workflows.

For instance, this year saw numerous updates to sites managing employee rewards and the main support site, along with the creation of new tools like the employee crediting tool.

THE PROBLEM

What systems are currently in place?

With numerous internal tools featuring different themes, managing multiple design systems became a challenge. These systems varied widely in layout, states, and structure.

Audits revealed significant inconsistencies in structure, variety, and implementation. Some platforms lacked a design system entirely, making it difficult and time-consuming to design new features.

Creating new tools or adding upgrades can be time-consuming without efficient systems in place.

A scalable design system reduces effort and saves time with reusable components for quick ideation or final designs.

Design System Goals

🖌️

Expansive and detailed. Each component will contain the necessary states and versions for each use case.

📝

Detailed documentation for each component so visitors understand usage and intent.

🤸🏻

Flexibility. Creating a design system that can be themed to each tool while being connected to the base.

🆙

Scalability. A living and breathing system that grows with the designers, developers, and needs over time.

The goal is NOT to make all internal tools look and feel the same.

Our goal is to create a scalable base design system that serves as a foundation for future applications while supporting different themes, eliminating the need to manage multiple design systems.

DESIGN

Working with designers and developers

Design systems are just as crucial for developers as they are for designers. It's important to understand developers' needs as well.

I worked closely with our development team to learn how components are implemented, what details are required, and whether there are existing structures, like Tailwind CSS, that we can leverage.

Building from the ground up

Our Mosaic design system follows an atomic structure, starting with atoms as the smallest unit and building hierarchically.

The atomic structure progresses through molecules, organisms, templates, and pages as the largest components.

Atomic Design System diagram pulled from Atomic Design by Brad Frost

Example of atomic structure in Mosaic

Are atoms really the smallest we can go?

Our team identified that styles should precede atoms. We defined colors, typography, grid layout, border radius, and drop shadows to be applied across the rest of the components.

Atoms: the basic building block

Atoms include input and interaction elements like buttons, tags, and toggles, as well as UI enhancements like progress indicators and more.

For all components, we conducted thorough audits of current usage in Blizzard tools and competitive analyses of other systems to ensure we covered all necessary states and use cases.

Atoms to Molecules

The atomic design system allows us to create larger components by utilizing smaller components within.

Highlighting Documentation!

What's the point of having an extensive design system if we don't know how to use it? For each component, I provided detailed documentation on typical usage guidelines, customizable properties, and various states.

Connected, but not identical

The goal of Mosaic is not to enforce a consistent look and feel across all applications, but to provide base customizable properties that can be styled according to each platform's design. By using Figma variables, we can easily switch themes.

See how we customized the same component for multiple platforms with different branding.

Learning and Growing

We're never truly done with the design system. As designers, we continuously identify new components to add as we encounter more use cases. We also iterate on existing components as we discover new use cases or opportunities for improvement.

For example, while working on the Blizzard Crediting Dashboard, I identified that the timeline component could be added to the design system!

IMPACT

Impact

Streamlined Tool Building

With a base design system, designers and developers can quickly build and maintain tools using preexisting components. Mosaic was used to create Blizzard's crediting tool, where we rapidly assembled low-fidelity frames and added new theming with ease. Tools no longer have to be built from scratch!

Consistency between Figma and the Final Product

Each component is refined through detailed discussions between developers and designers. As designers expand the system, developers contribute as well. Quality checks maintain the standard of each component, and involving engineers in design discussions enhances the final product.

Expand Interest to Other Teams

Mosaic's primary users were designers and developers in my department. Interest grew across additional teams, leading to the creation of a public Slack channel to share what Mosaic has to offer.

THANKS FOR VISITING!
LET'S CONNECT.

Last updated January 2025 by Chloe Chow
Made with lots of coffee, tea, Chipotle burritos, poke bowls and love