Design System for SOCA Mobile Web

Company

SOCA

Role

Product Designer

Timeline

Summer - Winter 2022

Contribution

Design System
(Establish / Maintain)

Background

Soca is a social media platform for career-related topics like job referrals, interview questions, salary comparisons, etc. The design had been passed through multiple hands for the past year without clear design guidelines and holistic management. The UI inconsistency started to build up.

To slow down the “entropy increase” of the design and to nurture best practices for future phases, Soca planned to re-establish the work process with the development of a design system, roll it out onto the mobile web first, and eventually cover the rest interface.

The SOCA app interfaces before design system implementation

Project Goals

I treat the design system as an internal product that eventually serves the best experience for the external product and the design process. Identical to any product design project, It’s essential to set the right goals upfront:

Internally

Externally

Context and Resources

Product Branding

Even though not formally documented, there is a particular brand identity that Soca has already established and passed to users through its logo, color, fonts, and style. These are essential inputs for the foundation of the design system, as it aims to inherit the visual tone to ensure emotional bonding with old users.

SOCA Brand Identity

Design System Resources

Since many decisions the design system makes will be systematically reused, they should represent best practices. As the designer, I have to delve into some domains and refer to other mature design systems, to summarize the guidelines and sort out learnings to eventually form the best practices proposition for SOCA. 

There are considerable existing online resources for the design system I have referenced:

Material UI


Material UI offers a comprehensive suite of UI tools that comply with the industrial standard and have ready-to-use codes.

UI Kits
Untitled UI / UI Prep / …

There are numerous good-quality UI kits on the market, each providing distinctive thinking in structuring and organizing the design system.

Open-sourced Design system
Spotify Backstage/ Ant Design / …

It’s interesting to see how those design systems were tweaked differently to cater to specific design scenarios and successfully support business product

Hierarchical Structure

I refer to and tweak on top of the Atomic Design by Brad Frost when building a hierarchical structure for the SOCA Design system.

It’s always important to allow exploration flexibility, but at the same time keep easy systematic adjustments available at different levels. This general principle dictates detailed decisions like what should be global vs. local, what properties/variants should be assigned to each component, how should the design system expand to cover other products in future phases, etc.

Crafting Design System

Achieving a sense of visual balance at the pixelated level

As an example, through rounds of visual testing, the padding of the icon side of the button is set to 4px smaller than the text side, to accommodate for the white spaces around the icon.

Setting up compatible sizes for potential combinations

All spacing for components and typography is done in increments of 4 pixels.
Components are sized carefully to match each other and the line height of body text. This makes it easy to create harmonious arrangements within the UI.

Building design consistency from the ground up for distinguishable and predictable actions

Creating flexibility (nested modular design) within the system.

As an example, these 3 modals are instances of the same basic component. By nesting other components as "atoms"(in this case, input / dropdown), one component could be manipulated to fit into different use cases. This has tremendously improved the flexibility of design system while keeping its simplicity.

Design Application

Figma

A design system is used to support the collaboration of the whole design team. Every little change might trigger unexpected issues in other designers’ works and cause confusion. Therefore, be cautious to directly iterate on the design system, even though it might be the most efficient way to adjust the design in many cases.

That said, following a strict procedure when publishing and maintaining the design system is essential. Here is a checklist that I pay attention to:

Implementation and Maintenance

Chromatic

The design system does not only serve designers. It could also be developed into an in-house library which will help boost the efficiency of development and the level of control in the long run.

Here are some best practices to consider when collaborating with engineers:

Preview