[ project ]
Paystack Design System for Legacy Products
Building a shared system across design and engineering
About the project
Type of work: Design systems, product design operations, UX infrastructure
Role: Design Systems Lead
Timeline: May 2022 - November 2023
Focus: Design tokens, component libraries, Figma libraries, developer collaboration, product migration, and design system adoption
Paystack had several legacy products with different interface patterns, component libraries, and implementation needs across web and mobile.
As the product ecosystem grew, the design team needed a clearer way to work across products without recreating components, making inconsistent design decisions, or slowing down handoff with engineering.
The work focused on creating a more coherent design system that could support designers and developers, improve operational efficiency, and create stronger alignment between Figma and code.
The challenge
Paystack’s products had grown with different design needs, patterns, and technical realities.
The challenge was not to force every product into one identical interface. It was to create a system that could bring more coherence across products while still respecting each product’s context.
Designers needed clearer libraries, reusable components, and stronger guidance. Developers needed a system that could connect to code, scale across platforms, and support implementation across web and mobile.
The challenge was to make the design process easier, reduce duplicated work, and create a shared foundation between design and engineering.
The direction
The design system was shaped around coherence, scalability, and cross-functional ownership.
Rather than treating the system as a Figma clean-up exercise, the work focused on the foundations needed for long-term adoption:
Audit existing components and libraries
Define design principles
Revamp design tokens across Figma and code
Create master component libraries for desktop and mobile
Build Figma product libraries for designers
Integrate tokens and components into product code libraries
Support adoption through documentation, updates, and collaboration with engineering
Migrate selected products into the new system
This shifted the work from a visual library into a shared design and engineering infrastructure.
Before and after
Fragmented component libraries → Shared product libraries
Repeated design decisions → Reusable foundations
Figma-focused assets → Figma and code alignment
Inconsistent legacy patterns → More coherent product experience
Design-only ownership → Cross-functional system ownership
Handoff-heavy process → Clearer design-development collaboration
Three key insights
1. Coherence mattered more than strict consistency
Paystack’s products had different requirements, so the system needed to create alignment without flattening product differences.
2. A design system only works when it reaches code
The work could not stop at Figma. Tokens and components needed to be integrated into product code libraries to support real adoption.
3. Adoption needed communication, not just documentation
Weekly updates, digests, and reports helped keep design and engineering aligned on progress, scope, timelines, and resourcing.
Building the system beneath the interface
A major part of the work focused on design tokens as the foundation of the system.
Tokens were revamped across Figma and the codebase, helping create a stronger connection between design decisions and implementation across products.
[screenshots from a design library immpact for one of the internal paystack products]
[screenshots from design system in progress]
Impact
Shifted the guidelines from design reference to implementation tool
Helped reposition the Aani eDDA guidelines as a resource that could support product, design, business, compliance, and technical teams, rather than serving primarily as a design document.
Created a clearer foundation for consistent implementation
Reduced ambiguity around requirements, terminology, and screen behavior, giving participating banks a stronger basis for delivering aligned eDDA experiences.
Improved discoverability and usability of guidance
Introduced clearer structures, quick guides, and supporting resources that made it easier for teams to find relevant information and navigate complex journeys.
Strengthened confidence around edge cases and requirements
Expanded coverage of alternative scenarios and clarified mandatory versus recommended guidance, helping teams make implementation decisions with greater certainty.
Supported multiple teams without adding unnecessary complexity
Helped shape documentation that could serve designers, developers, product managers, and implementation teams through clearer organization and more targeted guidance.
Brought research and implementation feedback into decision-making
Combined audits, cognitive walkthroughs, and stakeholder interviews across multiple LFIs to ensure improvements reflected real implementation challenges and operational needs.
Further reading
I wrote more about the thinking behind this project in Design Systems for Legacy Products: A Developer-Driven Approach for Designers.
The article explores building design systems for legacy products, the importance of developer collaboration, and lessons from creating a shared foundation for design and engineering.
disclaimer
This is a high-level public summary of the project. Detailed process artifacts, internal discussions, and operational work are kept private. Full case study available upon request.
[screenshots from a design library immpact for one of the internal paystack products]
[ more projects ]