top of page

FULL CASE STUDY

Spark Design System

A multi-dimensional design system including themes, modes,
flexible components, templates, and guidelines.

⛓️‍💥 The Challenge: A Fragmented Experience

Spark is the design system that supports the products and interfaces of Genesys Cloud — a product ecosystem that spans a wide range of customer experience (CX) solutions. These products are mission-critical and heavily used, which means the interfaces are both complex and constantly evolving.
 

When I joined the Spark team, one of the biggest problems was inconsistency. Each team designed and built things slightly differently, which made the overall experience feel fragmented. There was a legacy design system, but it wasn’t robust enough to handle the scale. Its components were rigid, documentation was limited, and adoption across teams was low.

The result was a product suite that looked and behaved differently depending on where you were, slowing down designers and developers and making accessibility hard to guarantee. A new system was clearly needed — one that could scale with the product and actually earn adoption across such a large organization.

🎯 Strategic Goals

To solve the issues, we’ve worked with cross-functional teams to define a clear vision for our new design system. 
It needed to:

  • Improve efficiency: reusable and versatile assets to speed up design and development.

  • Ensure consistency: standardized components for a cohesive look and feel.

  • Scale across platforms: support for multiple brands and modes (legacy/new, light/dark).

  • Enhance accessibility: at least WCAG AA compliance across the board.

In addition to setting these goals, we considered the entire product development lifecycle. The new design system was intentionally inserted into different phases — from research and definition, through prototyping and design, into build and testing.

Design system assets inserted into the product development cycle

💎 Building a Multi-Dimensional Design System

With the goals defined, we focused on building a system that could adapt to complex product needs while remaining consistent across teams. Our work centered on the following main pillars:
 

Reusable Components and Assets

  • Designed to be flexible through properties and slots, allowing customization without detachment.

  • Example: see the architecture of a rich text editor I contributed here.

  • Used across products — for example, in the Agent workspace, components were tailored via properties slots, and custom components used design system variables.
     

Token-Based Architecture

  • Tokens defined core design decisions such as colors, spacing, and typography.

  • Enabled multiple themes and modes (legacy/new, light/dark).

  • Connected directly to code via Tokens Studio's GitHub integration, ensuring parity between design and engineering.

  • The token system made it possible to switch entire screens/designs to different themes and modes.

The Agent Workspace in light and dark mode

Documentation & Best Practices

  • Comprehensive usage guidelines, templates, and patterns.

  • Helped teams adopt the system consistently and lowered the learning curve.

  • Reinforced through examples like dashboards built entirely on system tokens and variables.

  • Example: we've developed an Elevation and Hierarchy Guide that included not only elevation levels but also a decision matrix for container priority. This helped designers and product managers make consistent decisions about which UI elements should take precedence in complex flows.

A snippet from the z-index decision tree and the elevation styles

🤝 Collaboration & QA Process

To ensure quality and adoption, we built the system in close partnership with engineering and validated complex components with both designers and end users:

  • Tight Feedback Loops

    • Designers and developers collaborated throughout implementation.

    • Components were refined based on real-world usage and developer feedback.

  • Quality Assurance

    • Every component went through structured QA before release.

    • Verified design–code parity and validated that micro-interactions followed expected flows.

  • Accessibility Reviews

    • Conducted accessibility checks during design and code phases.

    • Ensured semantic markup, keyboard navigation, and screen reader support.

    • (Illustration: accessibility audit screenshot or testing setup)

  • Component Testing with Designers & Users

    • Ran component-level testing sessions with designers before publishing to ensure the system matched real design needs.

    • Validated interaction patterns with end users to confirm usability in practice.

    • See my testing process in this article.

🚀 Driving Adoption Through Education & Support

Even the most robust design system has limited impact if teams don’t adopt it. We made adoption a priority by supporting designers and developers at every stage:

  • Workshops & Training

    • Facilitated sessions on using system components, tokens, and documentation.

    • Provided hands-on guidance during onboarding.

  • Migration Support

    • Guided teams in updating legacy UIs and libraries to align with the new system.

    • Offered structured migration workshops with clear before/after examples.

  • Continuous Feedback

    • Created channels for designers to share insights and challenges.

    • Iterated the system based on real-world usage.

Migration workshop snippet

⚡️ Impact & Results

The introduction of Spark as a multi-dimensional system led to clear improvements across the organization:

  • Faster design and development — design teams reported being noticeably faster in their overall processes by reusing system components instead of creating one-off solutions. They also reported being more confident in their design decisions by relying on Spark's patterns and guidelines.

  • Higher adoption — approximately half of product teams integrated Spark into their core workflows.

  • Improved accessibility — WCAG AA compliance achieved more consistently across product areas.

  • Greater consistency — a more unified look and feel across the Genesys Cloud ecosystem.

  • Central knowledge hub — Spark became the reference point for usability and best practices.

bottom of page