Designing a scalable design system for enterprise operational platforms

Summary

Evoke develops several internal operational platforms used across departments such as HR, compliance, and business operations. These tools were built using OutSystems, a low-code platform that enables rapid enterprise application development.

As the number of internal products increased, UI patterns and interaction behaviors began to diverge across teams. This created inconsistencies, duplicated components, and unnecessary friction for users moving between systems.

To address this, I designed and implemented a Design System tailored specifically for OutSystems, establishing reusable components, interaction standards, and a shared design language across internal products.

The system enabled teams to build complex operational tools faster while improving consistency and usability.

Timeline: 2025


Context

Internal platforms at Evoke support complex workflows such as:

These products involve multiple roles, strict validation rules, and data-heavy interfaces.

Although OutSystems accelerated development, teams were building UI patterns independently, which resulted in:

As more platforms were introduced, the need for a shared design system became increasingly critical.


My Role

Senior Product Designer responsible for defining and implementing the design system.

Responsibilities included:

Tools: Figma, OutSystems


The Problem

Without a shared design system, internal platforms suffered from several issues.

Inconsistent interfaces

Similar UI elements behaved differently across products.

Duplicated development work

Engineers frequently rebuilt components from scratch.

Unclear interaction standards

Validation states, loading behavior, and system feedback patterns varied between applications.

Scaling challenges

As new internal tools were introduced, maintaining usability and consistency became increasingly difficult.


Goals

The design system aimed to:

• establish consistent UI and interaction standards
• reduce design and development duplication
• accelerate delivery of new internal platforms
• improve usability across operational tools
• create a shared design language between design and engineering teams


Constraints and Approach

The system needed to align with OutSystems architecture, meaning that components had to map realistically to the platform’s widget structure.

Instead of designing a theoretical UI kit, the design system was developed iteratively alongside real product development, ensuring that each component addressed actual workflow needs.

Key principles included:


Key Improvements

Interface standardization

The system introduced standardized patterns for:

This created predictable interaction patterns across internal platforms.


Component library

Reusable components were created for common enterprise interface elements:

Each component included clearly defined states such as:

default
focus
error
disabled
loading


Token-based foundations

To ensure scalability, the system used semantic design tokens for:

Using tokens allowed components to remain consistent across products while still supporting future evolution.


Workflow patterns

Because many internal tools rely on multi-step processes, the design system introduced standardized workflow patterns including:

These patterns significantly improved clarity in operational interfaces.


Design System Architecture

The system was structured in layers:

Foundations > Tokens > Components > Patterns > Product workflows

This architecture allowed the system to evolve while maintaining backward compatibility.


Design and Delivery

The design system was structured in Figma using a scalable architecture:

Foundations

Color tokens
Typography
Spacing rules
Layout guidelines

Components

Reusable UI elements with variants and states.

Patterns

Common enterprise workflows such as tables, dashboards, and multi-step forms.

Documentation

Usage guidelines and interaction standards.


Engineering Collaboration

A critical aspect of the project was aligning the design system with OutSystems implementation constraints.

I collaborated closely with engineers to:

This collaboration reduced the gap between design and development.


Adoption Strategy

Adoption was supported through close collaboration with product and engineering teams.

Instead of enforcing the system top-down, we focused on:

Over time, the design system became the foundation for new internal platforms.


Maintenance and Evolution

The design system was designed as a living product rather than a static asset.

The system evolved through:

Product-driven improvements

New workflows introduced new component requirements.

Feedback loops

Engineers and designers provided feedback based on implementation challenges.

Iterative refinement

Components were improved based on real usage patterns.


Outcomes

The design system created a scalable design foundation for Evoke’s internal platforms.

Key results included:

The system also strengthened collaboration between design and engineering teams.


What this demonstrates

This project demonstrates my ability to design and maintain design systems for enterprise SaaS environments.

Key capabilities include:


Next Steps

Potential future improvements include:

further integrating the design system with engineering libraries

expanding the component library as new workflows emerge

introducing usage metrics to track system adoption

improving documentation and onboarding for new teams