Images are limited due to contractual agreement

One system for faster, consistent product delivery

I built a shared design system and design ops layer for multi platform products, covering tokens, components, accessibility, and rituals, so designers and engineers ship consistent features faster with less friction.

My role

Product designer

Skills used

Design systems, information architecture, multi platform design, design ops, process design, facilitation, documentation, accessibility, stakeholder alignment

Duration

Ongoing, but 9 months from first audit to steady state adoption

Tools used

Figma, Storybook

At the Streets Heaver, design was an afterthought. Teams shipped features with inconsistent UI and created ad hoc patterns all while miscommunication meant efforts were doubled when duplicate components were made.

Visual and interaction inconsistency across products

  • Each team made local decisions on colours, spacing, and interaction

  • Buttons, inputs, and tables were unintentionally different between products

Delivery was slow and collaboration was noisy

  • Engineers had questions with no source of truth

  • Similar components were built from scratch in each repo

No standards for accessibility

  • Accessibility guidelines were in a static document rather than built into components

  • Focus states, keyboard support and aria labels varied between screens

  • Quality depended on the knowledge of the engineer rather than shared standards

Products audited and foundations defined

I started with a UI audit across all products, cataloging colours, type, spacing; all of the main tokens you would expect. Following this, all common inputs and components were documented and mapped out.


None of this was in a design tool (this was before the company started using Figma). All of these variables were found from disparate documents and live code.

SHUI (it didn't work)

I initially built a component library from scratch. Being new to both the company and product design, I felt pressure to demonstrate my capabilities both personally and professionally. This early design-engineering collaboration phase exposed several shortcomings. After a few weeks of engineers highlighting fundamental issues in my designs through ongoing discussions, I stepped back to reassess my approach.

Given the time constraints (after my first unsuccessful attempt) and the need for a robust solution, I built our component library on top of the Fluent UI 2 library. By starting with a proven base, I was able to focus on tailoring these components to align with our colours and visuals. The process unfolded in smoother and more considered stages:


Component Adaptation: I modified basic components from Fluent UI 2, ensuring they met our design needs and brand guidelines.


Workshop & Collaboration: I organised workshops with senior engineers to review the component library. This session not only validated my new approach but also set a foundation for future components using an atomic design methodology.


Documentation & System Building: Next, I expanded the scope by developing clear guidelines around typography, content design, ux patterns, and mobile patterns. I collaborated with the commercial and marketing teams to ensure our fonts, colours, and overall branding were consistent across all touchpoints. The final deliverables included several working Figma documents:

  • A comprehensive design system document.

  • Separate documents for desktop and mobile components.


Integration & Accessibility: To facilitate broader company access, I published the design system into Loop, ensuring that it was readily available for ongoing reference and updates. I’m also planning a Figma file revamp to better align the system with an upcoming TypeScript rewrite, addressing current clarity issues in the component library.

Collaboration & Process Optimisation

Creating this system was as much about building processes as it was about designing components. My initial version of the component library taught me the critical importance of detailed documentation. By running workshops with senior engineers and aligning with marketing and commercial teams, I established a workflow that ensured:

  • Clear Documentation: Every component came with comprehensive guidelines to minimise ambiguity for me and engineers.

  • Standardised Handoff: The system streamlined the transition from design to development, reducing time spent answering repetitive questions.

  • Scalability: The framework allowed for rapid creation and documentation of new components, ensuring consistency as new features were added across multiple products.

Outcome

The new design system has had a transformative impact:

  • Efficiency Gains: Every new design now follows established rules and templates, drastically reducing turnaround time for both design and development.

  • Onboarding: When we brought on a junior designer, they were quickly integrate into projects, using predefined templates that align with our overall system, leading to a more consistent product experience.

  • Enhanced Collaboration: With clearly defined components and processes, cross-functional teams experience fewer miscommunications, ensuring that design decisions translate effectively into code.

Lessons learned

Attention to Detail is Crucial: Detailed documentation not only speeds up engineering work but also streamlines the design process by preemptively addressing potential questions.


Continuous Learning: My journey involved overcoming a steep learning curve in understanding code, fundamental ux principles and accessibility, which has enabled me to replace outdated designs with more accessible, user and developer-friendly components.


If I Could Turn Back Time: Reflecting on the failure of the first component library iteration, I would take a more methodical and considered approach by thoroughly documenting our requirements and limitations, and by utilising preexisting components, patterns, and libraries to supplement and enhance my knowledge and to reduce unnecessary pixel pushing. I would also define and create design templates earlier to ensure consistency between other products.