Design System Management
Publica by IAS
TL;DR
I led the creation and evolution of a design system for a complex B2B AdTech platform establishing shared foundations across design and engineering to reduce inconsistency, speed up delivery, and improve cross-team collaboration.
When I joined Publica, there was no formal design system in place.
Designers and PMs had no clear source of truth for components, patterns, or visual standards. New features were often designed from scratch leading to inconsistency across the product and friction between design and engineering.
What started as an effort to “clean things up” quickly became a foundational initiative to support scale.
The Problem
“The design system does not exist.”
At the time:
There was no centralized component library
Patterns were undocumented or inconsistently applied
Teams relied on tribal knowledge to make design decisions
As the product and team grew, these gaps became increasingly costly.
Initial User Pain Points
From the perspective of designers and PMs:
Difficulty understanding which components already existed
Inconsistent use of patterns across similar workflows
Lack of confidence that designs aligned with engineering standards
Cost of the Problem (Before)
Time: Designers spent significant time searching for existing designs or recreating components from scratch
Consistency: Similar features looked and behaved differently across the product
Collaboration: Engineers lacked a reliable design reference, slowing implementation and increasing rework
Fast Forward
By 2024, the design system technically “existed,” but it hadn’t scaled with the product.
New components were being added without governance
Multiple versions of the same components existed
Outdated icons and unstructured frames were still in use
Documentation was sparse or out of date
The system had become a liability instead of an accelerator.
Current Pain Points
Inconsistency: Multiple variants of similar components caused confusion and inefficiency
Unstructured Components: Frames without defined layouts made maintenance and scaling difficult
Icon Sprawl: An overwhelming number of icons created unnecessary complexity
Onboarding Friction: New team members struggled to understand how to design within the system
Business Impact
Teams spent more time hunting for components than solving user problems
Design and engineering velocity slowed as the product scaled
Lack of documentation increased onboarding time and cross-team misalignment
My Role
Product Designer, Publica by IAS
I owned the design system initiative end-to-end, partnering closely with product and engineering to audit the existing system, define standards, and establish scalable patterns that could support multiple teams and long-term growth.
Strategic Approach
Rather than rebuilding everything at once, I treated the design system as a product with users, constraints, and phased delivery.
Research & Insights
I started by auditing the existing system and reviewing established design systems to identify best practices that would realistically scale for our team and product complexity.
Key insights:
Over-complex systems slow adoption
Flexibility matters more than completeness early on
Clear ownership and structure are more valuable than visual polish
This informed a pragmatic approach focused on usability, governance, and incremental value.
Solution Framework
The strategy centered on three principles:
Clean Up - Audit and streamline existing pages and components, removing redundancies and clarifying ownership and usage.
Simplify - Reduce unnecessary variants and complexity to make the system easier to understand, maintain, and adopt.
Design for Reuse - Create components with flexible properties and well-defined states to support a wide range of use cases without duplication.
Implementation Plan
To avoid overwhelming the team and ensure early wins, I took an incremental approach:
Rebuilt the system page by page
Prioritized high-usage components first to establish strong foundations
Introduced standards gradually to encourage adoption and trust
This allowed the system to evolve alongside active product work rather than blocking delivery.
Outcomes & Impact
Speed & Efficiency
Reduced time spent creating and iterating on mockups
Enabled designers to work faster using shared, trusted components
Accessibility & Collaboration
Made the design system usable beyond design—supporting PMs and engineers as a shared reference
Improved consistency across teams by aligning on a single source of truth
Outcome
The result was a refreshed and scalable design system with:
Standardized components
Clear usage guidelines
Centralized documentation to support long-term growth and consistency
What’s Next
Partner More Closely with Engineering
Continue collaborating with engineers throughout implementation to ensure components are built accurately and consistently in code.
Unify Design & Development
Strengthen the connection between the design system and the codebase by:
Treating Figma as the design source of truth
Exploring tools like Storybook to align design and implementation
Ensuring parity between what designers design and what engineers ship