With no structure around the font-end each element was being designed and coded independently. The result was a very bloated codebase, large amounts of design and development overhead, and design being a roadblock for development as I was the only designer supporting four developers. It was clear that CBT needed a design system to streamline both design and development.
Non-functional building blocks like color, typographic styles, and icons
Basic Functional UI elements built from quarks like buttons, input fields, toggles, and chips.
Combinations of atoms such as form fields with labels, buttons grouped with icons, etc.
More complex components such as navigation bars, product cards, or modals.
Design tokens (e.g., color, typography, spacing) were created to simplify management and updates of the design system. These tokens were implemented in both design files and the codebase (using CSS variables) to ensure consistency between design and development.
Development resources are limited, but I am determined to maintain the momentum. To keep the project moving forward I pivot to coding the library myself. To keep this project as light as possible I built on top of Bootstrap which was already being used. Maintaining the flexibility of the design tokens is important so I built the CSS using variables.
Without documentation the design system is little more than a collection of components. The documentation gives it the structure of how and when to use what pieces of it. After looking at multiple documentation platforms I settled between two for very different reasons. We would either use Storybook or Notion. Storybook was robust with built-in versioning and testing. Notion on the other hand was a lot simpler but provided the ability to move fast. Since this was an MVP and would be grown throughout its lifecycle we opted for notion with the plan to circle back to Storybook once we switched our development frameworks over to React.
Design tokens (e.g., color, typography, spacing) were created to simplify management and updates of the design system. These tokens were implemented in both design files and the codebase (using CSS variables) to ensure consistency between design and development.
Interested in learning more about this project or seeing how I can help streamline your user experience? Feel free to reach out!
Connect With Me