Project Vision

Cruise has many internal products that allow its innovative, autonomous vehicles to operate smoothly. They needed a design system that would reduce component creation redundancy on both the design and development sides. This would allow all product teams to stay aligned and ship features faster than they previously could.

Expertise

Design systems, UI/UX, Product design

Deliverables

Design system, Multi-brand design system, Token library, Component library, Documentation, Training

Platforms

DesktopTabletMobile
DesktopMobile
DesktopTablet
Desktop
TabletMobile
Tablet
Mobile

The Challenge

Our primary goal was to align the new design system to code as closely as possible. Due to this, we needed to take into consideration any pre-existing components and token structures in place to ensure nothing would break upon implementation. In addition to this, we needed to create consistency throughout all of their internal products by evaluating and defining the commonalities. Ultimately using those similarities to inform the baseline styles for the new design system.

Flow of work from Figma to code.
Collage of design system components in dark mode.
Flow of work from Figma to code.

The Solution

To ensure better alignment between design and code we opted to use the Figma plug-in, Tokens Studio. It syncs directly to a Github repository that engineers can use and is compatible with Figma variables so that designers can easily theme within Figma’s UI.

Tokens Studio and Figma Variables UI

Establishing the foundations

The design language for Cruise’s internal tools was generally established, but lacked clarity on how it was meant to be used. Therefore creating many inconsistencies across their wide range of products. We started with creating color primitives that would be able to support their data visual needs, created clearer semantic naming, and defined better spacing and sizing structures.

Documentation for primitive colors, type scale and border widths.

Defining density

There was a great need for density options due to the internal tools teams dealing with large quantities of content while the consumer teams would eventually need much more breathing room. Therefore, we created 3 density options; condensed, standard, and comfort for a variety of container components to allow for this type of flexibility.

Table sample being shown in condensed, standard, and comfort density options.
Table sample being shown in condensed, standard, and comfort density options.

Component structures

Atomic design principles were used to create components for this design system. We avoided the use of unpublished base components whenever possible to allow for an better consumer experience. However, smaller components become nested in more complex container components, but are still able to be used individually as needed. It allows for better clarity on how components are used together.

A table component is a great example for this. There are atomic components that are nested within the header and body cell components—checkbox, text, button groups, etc. Designers can choose to use these to create their tables, but we also have pre-built table rows that gets them a little further along in the creation process. These can be broken and customized as needed and beats having to copy and past a table cell over and over.

Flow chart showing the construction of the table component.
Flow chart showing the construction of the table component.

Documentation

We provide all our design system clients with detailed documentation that include video walkthroughs, instruction on high level topics, and information about how to use each and every component available.

Documentation examples and how-to videos.
Documentation examples and how-to videos.

Light and dark modes

They utilized dark mode by default for their internal tools and wanted to introduce a light mode. With the use of design tokens and the correct token structures this was able to be quickly implemented. Tokens Studio is compatible with Figma variables so that designers didn’t need to use the plug-in to switch modes on their design views. They could simply make this adjustment via the layers panel directly in Figma’s UI.

Example UI shown in both light and dark mode.
Example UI shown in both light and dark mode.

Have a project in mind?

Let's get to work.

Submit a project