Product Design
·
Epsilon
·
2021 - 2022
Product Design
B2B SaaS
Epsilon
People
Cloud
I expanded the PeopleCloud design system, turning fragmented components into modern, accessible UI patterns.
Role
Senior Designer
Team
3 Designers, 2 Eng
Status
Shipped
01 / Problem
A fragmented design system built under tight constraints
The legacy platform suffered from inconsistent UI components, outdated accessibility standards, and complex enterprise data layouts that created heavy visual noise. Product teams were spending unnecessary cycles guessing at layouts and working around system limitations, making core features difficult to scale and maintain.
02 / Approach
Designing through ambiguity and system modernization
I stepped in to structure loose requirements, working directly with product and engineering to streamline complex enterprise workflows. We modernized the component library in Sketch, established accessible design patterns, and introduced flexible layout options that allowed the team to handle dense analytics and technical pivots without compromising user experience.
03 / Outcomes
Scalable UI patterns and streamlined team workflows
The upgraded design system eliminated library inconsistencies, brought the platform up to accessibility standards, and drastically improved onboarding for incoming designers. Reusable patterns saved engineering hours of repetitive layout work and provided product partners with a durable framework for future platform updates.
Process
Continuous Design & Delivery Cycle
Feature-based workflow: moving efficiently from initial ticket scoping to deployment.
01 / TICKET
Scope & Requirements
Jira / backlog intake
Scope breakdown
Priority alignment
Constraints review
02 / BRAINSTORM
Concept Exploration
Requirements mapping
Early layout concepts
Strategic UX paths
Edge-case discovery
03 / IDEATE
Design & Wireframing
UI pattern updates
Detailed wireframes
Component design
Interactive flows
04 / ALIGN
Engineering Review
Feasibility check
Technical trade-offs
Layout adaptation
Handoff specs
05 / SHIP
Finalize & Deploy
Polish & QA
Design system updates
Production release
Team documentation
04 — Design
Component system







Edge cases & decision points
Validation error on submit
Inline error messaging at the field level, auto-scrolling to the first error without wiping form input data.
Reviewer rejects with notes
Submitter receives in-app notifications and email summaries, with specific revision notes anchored directly to the record.
Session timeout mid-flow
Background auto-save preserves form draft states, returning the user to their last active step instead of a blank screen.
Concurrent edit conflict
Active state locking notifies collaborators when another user is editing, switching secondary viewers to read-only mode.
Product Design
·
Epsilon
·
2021 - 2022
Product Design
B2B SaaS
Epsilon
PeopleCloud
I expanded the PeopleCloud design system, turning fragmented components into modern, accessible UI patterns.
Role
Senior Designer
Team
3 Designers, 2 Eng
Status
Shipped



01 / Problem
A fragmented design system built under tight constraints
The legacy platform suffered from inconsistent UI components, outdated accessibility standards, and complex enterprise data layouts that created heavy visual noise. Product teams were spending unnecessary cycles guessing at layouts and working around system limitations, making core features difficult to scale and maintain.
02 / Approach
Designing through ambiguity and system modernization
I stepped in to structure loose requirements, working directly with product and engineering to streamline complex enterprise workflows. We modernized the component library in Sketch, established accessible design patterns, and introduced flexible layout options that allowed the team to handle dense analytics and technical pivots without compromising user experience.
03 / Outcomes
Scalable UI patterns and streamlined team workflows
The upgraded design system eliminated library inconsistencies, brought the platform up to accessibility standards, and drastically improved onboarding for incoming designers. Reusable patterns saved engineering hours of repetitive layout work and provided product partners with a durable framework for future platform updates.
Process
Continuous Design & Delivery Cycle
Feature-based workflow: moving efficiently from initial ticket scoping to deployment.
01 / TICKET
Scope & Requirements
Jira / backlog intake
Scope breakdown
Priority alignment
Constraints review
02 / BRAINSTORM
Concept Exploration
Requirements mapping
Early layout concepts
Strategic UX paths
Edge-case discovery
03 / IDEATE
Design & Wireframing
UI pattern updates
Detailed wireframes
Component design
Interactive flows
04 / ALIGN
Engineering Review
Feasibility check
Technical trade-offs
Layout adaptation
Handoff specs
05 / SHIP
Finalize & Deploy
Polish & QA
Design system updates
Production release
Team documentation
04 — Design
Component system







Edge cases & decision points
Validation error on submit
Inline error messaging at the field level, auto-scrolling to the first error without wiping form input data.
Reviewer rejects with notes
Submitter receives in-app notifications and email summaries, with specific revision notes anchored directly to the record.
Session timeout mid-flow
Background auto-save preserves form draft states, returning the user to their last active step instead of a blank screen.
Concurrent edit conflict
Active state locking notifies collaborators when another user is editing, switching secondary viewers to read-only mode.
05 — Deliver
Key Takeaways & Impact
01 / SYSTEM EFFICIENCY
Accelerated Production Workflows
Rebuilding component structures and streamlining naming conventions eliminated repetitive layout work, allowing product teams to assemble complex enterprise views faster and with fewer design bugs.
02 / ACCESSIBILITY & STANDARDS
Modernized Component Foundation
Updated core system patterns to meet modern contrast and accessibility guidelines, establishing a unified visual language across previously fragmented platform suites.
04 / DESIGN ENABLEMENT
Simplified Team Onboarding
Clean library organization in Sketch and clearer pattern guidance made it significantly easier for design partners to jump in and adopt the system without friction.
03 / CROSS-FUNCTIONAL ALIGNMENT
Stronger Eng & Product Partnering
Direct collaboration with engineering during initial ideation ensured layout feasibility early, reducing mid-sprint revisions and smoothing out the handoff process.
What worked
Early engineering touchpoints: Reviewing technical constraints early prevented unnecessary rework during final handoffs.
Flexible UI solutions: Delivering multiple layout paths helped product managers choose the best UX direction quickly.
Component-first approach: Modernizing base UI patterns ensured scalability across complex, data-heavy dashboards.
What I'd do differently
Document system decisions earlier: Recording design rationale as components were built rather than retroactively.
Establish clearer adoption guidelines: Providing more structured component usage docs upfront for cross-team designers.
Test edge cases sooner: Catching dense data layout edge cases earlier in the wireframing phase.
Looking Forward
Design system migration: Planning transitions to new tooling features as the platform suite continues to expand.
Interactive prototype testing: Expanding usability testing on complex interactive tables and filter states.
Pattern library expansion: Continuing to standardize specialized components for future platform updates.
Product Design
·
Epsilon
·
2021 - 2022
Product Design
B2B SaaS
Epsilon
PeopleCloud
I expanded the PeopleCloud design system, turning fragmented components into modern, accessible UI patterns.
Role
Senior Designer
Team
3 Designers, 2 Eng
Status
Shipped



01 / Problem
A fragmented design system built under tight constraints
The legacy platform suffered from inconsistent UI components, outdated accessibility standards, and complex enterprise data layouts that created heavy visual noise. Product teams were spending unnecessary cycles guessing at layouts and working around system limitations, making core features difficult to scale and maintain.
02 / Approach
Designing through ambiguity and system modernization
I stepped in to structure loose requirements, working directly with product and engineering to streamline complex enterprise workflows. We modernized the component library in Sketch, established accessible design patterns, and introduced flexible layout options that allowed the team to handle dense analytics and technical pivots without compromising user experience.
03 / Outcomes
Scalable UI patterns and streamlined team workflows
The upgraded design system eliminated library inconsistencies, brought the platform up to accessibility standards, and drastically improved onboarding for incoming designers. Reusable patterns saved engineering hours of repetitive layout work and provided product partners with a durable framework for future platform updates.
Process
Continuous Design & Delivery Cycle
Feature-based workflow: moving efficiently from initial ticket scoping to deployment.
01 / TICKET
Scope & Requirements
Jira / backlog intake
Scope breakdown
Priority alignment
Constraints review
02 / BRAINSTORM
Concept Exploration
Requirements mapping
Early layout concepts
Strategic UX paths
Edge-case discovery
03 / IDEATE
Design & Wireframing
UI pattern updates
Detailed wireframes
Component design
Interactive flows
04 / ALIGN
Engineering Review
Feasibility check
Technical trade-offs
Layout adaptation
Handoff specs
05 / SHIP
Finalize & Deploy
Polish & QA
Design system updates
Production release
Team documentation
04 — Design
Component system







Edge cases & decision points
Validation error on submit
Inline error messaging at the field level, auto-scrolling to the first error without wiping form input data.
Reviewer rejects with notes
Submitter receives in-app notifications and email summaries, with specific revision notes anchored directly to the record.
Session timeout mid-flow
Background auto-save preserves form draft states, returning the user to their last active step instead of a blank screen.
Concurrent edit conflict
Active state locking notifies collaborators when another user is editing, switching secondary viewers to read-only mode.
05 — Deliver
Key Takeaways & Impact
01 / SYSTEM EFFICIENCY
Accelerated Production Workflows
Rebuilding component structures and streamlining naming conventions eliminated repetitive layout work, allowing product teams to assemble complex enterprise views faster and with fewer design bugs.
02 / ACCESSIBILITY & STANDARDS
Modernized Component Foundation
Updated core system patterns to meet modern contrast and accessibility guidelines, establishing a unified visual language across previously fragmented platform suites.
04 / DESIGN ENABLEMENT
Simplified Team Onboarding
Clean library organization in Sketch and clearer pattern guidance made it significantly easier for design partners to jump in and adopt the system without friction.
03 / CROSS-FUNCTIONAL ALIGNMENT
Stronger Eng & Product Partnering
Direct collaboration with engineering during initial ideation ensured layout feasibility early, reducing mid-sprint revisions and smoothing out the handoff process.
What worked
Early engineering touchpoints: Reviewing technical constraints early prevented unnecessary rework during final handoffs.
Flexible UI solutions: Delivering multiple layout paths helped product managers choose the best UX direction quickly.
Component-first approach: Modernizing base UI patterns ensured scalability across complex, data-heavy dashboards.
What I'd do differently
Document system decisions earlier: Recording design rationale as components were built rather than retroactively.
Establish clearer adoption guidelines: Providing more structured component usage docs upfront for cross-team designers.
Test edge cases sooner: Catching dense data layout edge cases earlier in the wireframing phase.
Looking Forward
Design system migration: Planning transitions to new tooling features as the platform suite continues to expand.
Interactive prototype testing: Expanding usability testing on complex interactive tables and filter states.
Pattern library expansion: Continuing to standardize specialized components for future platform updates.