Developing a UI Kit and theming with Material UI
The digital learning platform was full of visual inconsistencies, UI bugs and implemented far from original design specs. After some conversations and spelunking into the front-end code, we found several culprits:
This foundation was ripe for future problems: this unnecessary bloat and fragmentation in the component library meant more code to upkeep, thus increasing the likelihood of future visual bugs and inconsistencies (as the world around us keeps changing).
I was charged with taking lead of the UI Kit project. I started closely working with the dev team (as a UX engineer myself contributing to the flow through code) to turn this fragmented and inconsistent implementation into a lean, cohesive and reusable design system. One that scales with the product.
After diving deep into the implementation of the designs, it was obvious that the team was operating on partial information & losing time creating things from scratch. We needed to reduce the number of components that were being utilized. We needed leverage MUI’s global theming capabilities, create set global components, and reduce styling in future implementations.
The more I digged, I realized that we also needed a shared language between design and engineering. Tokens in Figma needed to match tokens in the front-end. We needed a global design system and to use atomic design principles, not just in code but also as a design team.
Through this close design <> engineering collaboration, we started executing on the UI Kit project together:
theme provider
.createTheme
, enabling atomic styling of the components through color, type, and spacing tokens. We set default properties so future implementations of a given component followed our standards.
After diving deep into the implementation of the designs, it was obvious that the team was operating on partial information & losing time creating things from scratch. We needed to reduce the number of components that were being utilized. We needed leverage MUI’s global theming capabilities, create set global components, and reduce styling in future implementations.
The more I digged, I realized that we also needed a shared language between design and engineering. Tokens in Figma needed to match tokens in the front-end. We needed a global design system and to use atomic design principles, not just in code but also as a design team.
Through this close design <> engineering collaboration, we started executing on the UI Kit project together:
theme provider
.createTheme
, enabling atomic styling of the components through color, type, and spacing tokens. We set default properties so future implementations of a given component followed our standards.
Let's connect and collaborate to make great things happen! Use this form or drop me some lines at hello@asimitree.com copy