Payfactors · HR & Compensation
First UX hire, three products, one acquisition.
I designed QuickPrice, Peer Association, and Job Ranges solo, and QuickPrice became a selling point in PayScale's acquisition.
Read Time: Snapshot 1 min · Full case study 5 min · Demos 23 min
HR & Compensation
Data Visualization
Zero-to-One Design
Compensation Analytics
Responsive
Client / Payfactors
Industry / Human Resources
Team / UX, Product, Engineering
Platform / Desktop
Role / UI/UX Designer
Tools / Axure
Timeline / 6 months
SNAPSHOT
What I was asked to do, and what I did instead.
The ask. Design Payfactors' compensation products from scratch as the company's first and only UX designer.
What I found. Compensation data was regional, a year behind the market, and hard to trust. HR teams and analysts had no structured way to price a job, compare pay against peer organizations, or model job ranges with confidence.
What I did. I designed three products at the same time: QuickPrice, Peer Association, and Job Ranges. I built every component pattern and interaction model in high-fidelity Axure prototypes, which served as the spec for engineering and were used in investor and customer demos before a line of code was written.
The result. QuickPrice launched as a free public tool and became a selling point in PayScale's acquisition of Payfactors. 180+ enterprise clients onboarded within 30 days, and the design language I built survived handoff and the acquisition intact.
THE PROBLEM
Compensation data couldn't keep up with the market.
Payfactors built compensation software that helped HR teams and compensation analysts decide what to pay for every role. The data behind those decisions updated once a year, lagged behind market movement, and missed emerging job titles. Regional variation made it worse: the same role in Boston and St. Louis commands a very different rate, and generic benchmarks couldn't capture that gap.
Analysts needed to compare their pay against peer organizations, but no structured view existed for it. Modeling job ranges across peer groups was just as hard, because the interface lacked the layout and filtering to configure ranges with confidence.
There was no design foundation to start from. No design system, no existing patterns, and three products being built at the same time.
WHAT I DID
One designer, three products, every pattern from scratch.
I was the first and only UX designer at Payfactors, responsible for the full UX scope across QuickPrice, Peer Association, and Job Ranges.
WHAT I OWNED
I owned every component pattern, interaction model, and design decision across all three products, from first concept through engineering handoff.
HOW I WORKED
I built high-fidelity Axure prototypes that the Head of Product recorded monthly into product preview videos. Those prototypes were the spec. Engineering built from them, and leadership used them in investor and customer demos before a line of code was written.
THE JUDGMENT CALL
Every pattern had to do double duty: rigorous enough to survive a development handoff, flexible enough to scale across three products built at the same time. I designed one shared design language instead of three separate ones, and it held through the PayScale acquisition.
Three compensation products, designed and shipped solo.
At an early-stage startup, design is product strategy made visible. My Axure prototypes closed stakeholder decisions, gave engineering a build reference, and after PayScale acquired Payfactors, QuickPrice kept running at scale across the combined platform.
QuickPrice
Demo
HR compensation data updates once a year, lags behind market movement, and misses emerging job titles. Regional variation compounded the problem: the same role in Boston and St. Louis commands a very different rate. Generic benchmarks couldn't capture that delta.
I designed QuickPrice as a fully public free tool with no login required. Users could get an accurate salary benchmark for any role in any market instantly, with regional calibration built in. QuickPrice became a key selling point in Payfactors' acquisition by PayScale.
Peer Association
Demo
Compensation data was dirty, regional, and a year behind market reality.
Analysts needed to compare their compensation data against peer organizations, but no structured view existed. Without a clear way to see peer relationships, compensation decisions were made without competitive context.
A structured peer comparison view that scaled across large job libraries.
I designed a two-column comparison view that made peer relationships immediately legible. Filtering out salary-associated jobs reduced noise, so analysts could benchmark against peer organizations with confidence for the first time.
Job Ranges
Demo
Analysts had no confident way to model or compare job ranges across peer groups.
Compensation analysts needed a flexible way to model job ranges across peer groups, but the interface lacked clarity and filtering logic, making it difficult to configure ranges with confidence or compare them across peer sets efficiently.
I designed a single structured view for modeling and validating job ranges across peer sets. A two-column layout supported quick comparisons and model configuration, and unassociated jobs filtered out automatically, giving analysts a clean, auditable baseline to work from.
OUTCOMES
Three products shipped solo, one acquisition.
QuickPrice Drove The Acquisition
QuickPrice launched as a free public tool and became a selling point in the PayScale acquisition.
180+ Clients In Only 30 Days
Enterprise teams onboarded within the first month of launch.
One Designer Across Every Product
Three compensation products designed, prototyped, and handed to engineering by one designer.
Design Language That Held
A design language built from scratch that survived handoff and the acquisition intact.
WHAT I'D DO DIFFERENTLY
I'd build a lightweight design system earlier. As the only designer, I kept the work consistent myself, without a documented system behind it, which was fine at startup scale. As the product and team grew, the missing component library created friction a real system would have prevented.





