Laje - Design system

Challenges Creating a design system that adapts easily to React and uses variables from Tailwind CSS while maintaining UI and accessibility best practices
My roles Designer team of one
Team composition Me
Project durations 1 month(Current)

This project is based on the book "Refactoring UI" and uses its template as the starting point of the project.

A living and customized document created to accelerate the consultancy process. The Design system enables my work and from other designers within my company to customize existing components when starting a new project, while making sure that they apply design bests practices and components that can be easily translated to code using React MUI and Tailwind CSS.

The problem

In projects I led, I always work side-by-side with developers, resulting in a efficient handoff and a consistent coded design between Figma and the actual delivery.

That reality wasn't the same reality in other Junior teams, where their face 3 main problems: Time spent coding new components, bad-use of design best practices/accessibility, coded design inconsistency.

In a agency fast-paced enviroment I value speed of delivey and iteration. The Laje Project speed up the start of a new projects in design and the implementation of development.

Design already would start with all custom components, where they can adapt for project branding color, fonts, and tone of voice. Already contemplating Figma logics for different devices and light/dark mode.

For development speed meant implementation and consistency. How fast they can adapt their library to look like the design so QA doesn't create a layout card.

Considering that I created based on React MUI library and used Tailwind properties all accross the project, enhancing the coding experience and the quality of delivery.

Foundations

For foundations, colors was one of the main subjects - I set the goal of all projects in the company reach a minimum of AA WCAG 2.1 Standards, with that said I ensured that most colors reached 4.5:1 constrast and a minimum of 3:1.

The colors where all set as variable in Figma and organized in a primitive colors folder, where changes reflected in other two folders, branding and semantic colors - where they were organized by elements.

The same treatement was done in terms of typography, and as mentioned Tailwind CSS properties were applied for sizes of text - as for other things like spacing, corners...

I kept suggestions from the book refactoring UI along the design system, such as suggestions of fonts and step by step for making changes on the variables.

Other foundational items were configured for a faster implementation and better implementation, such as Icons (using Google font icons), elevation, grids and spacing guideline.

Components

Actionable components were configured to have 3 visual hierarchy levels: Primary, Secondary and Tertiary - And if needed status color coded.

They were also divided in tables to display their behavior and interaction states, responsiveness and possible modifications.

Instance swap, boolean, state dropdown and many other logical inputs were inserted in Figma components to make them as flexible as possible without losing the principles.

Implementation

This project is currently in progress, started in end of January 2025. It now has been used in two different project - They both reached +95 accessibility score in Google lighthouse and high component reusability, across the platform and with the Design System.

The first project was StreamRev - where the design system proved to be high adaptable for multiple colors statusses that we needed to display in the system.

The second project was Wings Insurance, you can see that the onboarding format that worked in StreamRev also worked in the complexity of the aviation industry.

That enabled my product and development team to speed up the prototype and iterate faster, reaching a faster delivery for Wings.

Other
Projects

Click and go to section The problem Foundations Components Implementation