UX DESIGN CASE STUDY

Re-designing an Automation Process the Right Way

My Role: Lead UX Designer — sole contributor across research, design, and production validation
Company: The Home Depot
Project: Pro Quoting Tool — Bulk Upload Feature
Timeline: 10 weeks, discovery to ship
Methods: Contextual inquiry, job shadowing, iterative design, UAT, GitHub validation
Deliverables: Figma prototype, dev handoff, production validation in sandbox environment

The Challenge

The Home Depot's complex quoting team handles large, multi-line jobs for professional contractors - quotes that could run 50, 60, sometimes 80 line items across categories like lumber, flooring, and electrical. To manage the volume, they relied on a Robotic Process Automation bot built by an internal data science team.

On paper, it was a solution. In practice, it was a liability. The bot took control of the user's machine to automate entry - which meant a single mouse movement could crash the entire process. Two weeks of direct shadowing surfaced the real problem: the team had stopped complaining. They had absorbed the bot's failures as part of the job.

How do we replace a fragile workaround with something fast, reliable, and built to last?

The Quoting Environment

Eight specialists. Each owning a category. Every large job a race against pricing windows, vendor availability, and a bot that could freeze without warning. The wire and electrical quoter kept a second computer running just to stay functional - his category carried a 24-hour pricing expiration. The bot's inefficiencies weren't occasional. They were a daily tax.

80+

Line items on the largest quotes

24 hr

pricing expiration on commodity goods

45-60 min

average quote time before bulk upload

The Design Work

The complex quoting team lived in spreadsheets. CSV was the obvious format - not the most elegant, but the one requiring the least behavior change from a team already stretched thin.

The feature used a strict required template. Users downloaded it, populated it with their line items, and uploaded it back. No column mapping, no guesswork. Simplicity on the user's end meant reliability on the system's end.

Bulk upload end-to-end system diagram Swim lane diagram showing two user entry paths converging at upload, through validation, to either a populated project list or an error report with re-upload loop User System Output Path A Path B Download CSV template Fill out Line items in CSV Upload Via modal Use own CSV Map to template Validation engine Checks rows on upload Return error report Excel · cells highlighted Populate project list Line items write to quote Valid? No Yes User corrects and re-uploads

The harder problem was error handling. A strict template meant bad data was inevitable. The question was how much it should cost the user when it happened.

The answer came in three planned phases.

The final feature covered every state a user might hit: successful upload, partial success, full rejection, and edge cases surfaced during UAT. Each had a clear, plain-language response.

Before shipping, every interaction in the Figma prototype was validated against the live build in a sandbox environment. What users got matched what was designed.

Impact and Reflection

Bulk upload shipped and the team adopted it immediately - not gradually, not after a nudge. The RPA bot went untouched from day one and was decommissioned within a month. Nobody was asked to stop using it. They just didn't need it anymore.

A quote that took 45 minutes to an hour now took 30 to 45 seconds. Quote-to-order conversion increased by 35%. What I'm most proud of is that we recognized the bot for what it was - a solution that had become the problem - and replaced it with something that actually fit the way these users worked.

The best design doesn't add something new. It removes what was quietly getting in the way.