LOADING
Blogs
G
Blogs
EEE
The right kind of design system for your organisation
Design System
3
MINs read
Sanchita Agarwal

Google’s Material Design, Shopify’s Polaris and Spotify’s Encore are the “popular kids” in the world of design systems. In my conversations with CTOs and CDOs at startups, I’ve noticed that they’ve taken inspiration from them while building their design systems and rightly so. But many have also shied away from building design systems because of the assumption that their systems need to be extensive, expensive  and exhaustive. 

The truth is this: One design system doesn’t fit all. An organization with 10 engineers and one with 100 engineers will need markedly different design systems. The design system we built for Gojek back when they had just 4 services has grown to support 20+services today. 

Your choice of design system, then, depends on two things:

  1. The number of features and products an organization offers 
  2. The number of designers and engineers in the team 

Identifying your organization’s needs  

At each stage of an organization’s growth, design systems solve a different problem. 

Reaching a "just enough" design system

Designers and developers have defined stages of building a design system in many ways. Here is how we look at the stages of a design system: 

  1. Laying the foundation  
  2. Making the design system your own 
  3. Building a future-ready design system 

Laying the foundation of a design system

Small Teams, Small Product: With a tightly defined product and a small team of designers and developers, it’s important to get the basics right, and make the product look visually consistent and on-brand. A well-designed product, early on, paves the way for high brand affinity and growth by word of mouth. 

At this stage, the design system should include: 

  1. Foundation: Tokens to standardize colour, typography, layout, spacing, iconography 
  2. Simple components: Reusable components like buttons, app bars and input field text, designed and developed 

Making the design system your own

Large Teams, Small Product: With more stakeholders, validating a decision requires more conversations and takes more time. A design system with simple components falls short. 

Enter: Complex, custom components. These are combinations of simple components put together, like cards or lists. Custom components are specific to the product, like a transaction list item for a fintech app or a restaurant list item for a food delivery app. 

Standardizing complex components reduces back and forth among the design team, and makes the design-development handoff smoother. 

Building a future ready design system

Small/ Large Teams, Large Product: When organizations begin to rapidly add more features and products or services, teams need to reserve their focus for higher-order tasks: building features, not screens. This requires a more exhaustive design system that caters to all present needs and anticipates future needs. 

This could mean: 

  1. Creating guidelines for interaction patterns like onboarding and offboarding
  2. Defining product content guidelines
  3. Creating motion and illustration guidelines 
  4. Supporting multiple colour themes 

Teams can reliably use the design system to build a consistent and seamless user interface, and spend more previous design and engineering bandwidth on creating a more delightful user experience. 

Building design systems, step by step

Building a design system doesn’t have to be an expensive or extensive exercise. With the right team and the right expertise, setting the foundation takes just two weeks and building custom components takes only six. Approached in this modular way, you can build the design system you need for your organization.

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Link

Heading1

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Heading2

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Heading3

eadings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Heading4

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

  • List1
  • List2
  • List2
  1. OList1
  2. OList2
  3. Olist3
This is Alt Text
Caption Is Here

Category Text
Author name text
Author Destination Text
Category Text
MINs to read text
private static <T> T measureAndReport(
           final String methodName,
           final kotlin.jvm.functions.Function0<T> block
   ) {
       final long start = System.currentTimeMillis();
       final T result;
       $REPORTER_NAME$.begin("$CLASS_NAME$", start, methodName);
       result = block.invoke();

       $REPORTER_NAME$.end("$CLASS_NAME$", start, methodName);

       return result;
   }

Header1

Header2

Header3

Header4

Header5
Header6

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
  1. This is a list1
  2. This is a list2