The Problem
Mechanics were caught between 2 bad options: rush through inspections or follow every step.
Conflicting stakeholder desires have incentivized mechanics to use workarounds
One workaround that mechanics would use to save time is skipping the entire checklist, and going straight to "the comment box" to write down any issues.
Research revealed the most difficult challenge: the stakeholders had polar-opposite design priorities.
KPI
45% rework rate
costing 5 days @ $5.50 per vehicle per day
The previous workflows result in almost half of all vehicles returning to the inspection process at some point, after already going through it once.
A ***load of requirements and constraints
A 5-week deadline
Challenging the status quo. I had to design for users who were skeptical and were used to the way things have been done for years.
A 125+ point inspection. I had to figure out a way to move what's currently on stacks of paper sheets onto a single device that's equally usable.
Robust enough for 3,300 vehicles per day. It needed to scale with to CarMax's volume. Even small friction points would compound across thousands of daily uses.
<12 min max. cycle time. Mechanical interior (the most complex inspection stage) could not take any longer than it does on paper.
Works with "low" internet. It can't require high bandwidth, and we also had to consider that some service centers span multiple spread-out buildings.
Even without these challenges, vehicle inspections were already inherently complex.
Inspections aren't just checklists—they're diagnostic puzzles that require mechanics to assess hundreds of components across multiple systems, make judgement calls about wear patterns, document findings with precision, and flag potential safety issues. Mechanics were already juggling cognitive load, time pressure, and quality requirements before paper forms made everything slower and more error-prone.
The Challenge
CarMax
High-volume inspections at
America's largest used-car retailer
Type
Internship
Product
IOS - Internal Tool
Role
Lead Designer
Team
Me + Lily Taylor (PM Intern)
Duration
5 weeks
Before
Paper checklists were causing a large amount of reworks.
~$11.8M worth of reworks every year because of mistakes.
After
I proved that we could move away from paper checklists.
~20% faster cycle times, integrated, and less-prone to mistakes.
Project Summary
I designed a mobile inspection app to replace CarMax's paper-based process as part of their new repair order system. The goal: eliminate the $12M in annual reworks caused by manual checklists while making inspections faster and more reliable for shop floor mechanics.
My role at CarMax
Beyond the inspection app, I helped grow CarMax's design practice during a pivotal summer. With virtually no UX researchers in the org, I led extensive discovery work across multiple projects—from the inspection app to the MyCarMax customer portal. I championed advanced prototyping methods that were rarely used at this scale, proving their value for complex operational challenges. I also pushed the team to adopt Figma Slides right after its release, modernizing how designers communicated with stakeholders across the organization. #leaveitbetterthanyoufoundit
Impact
Validated and gained buy-in from mechanics, engineers, legal, and product VPs—all within a 5-week sprint.
Projected $20M+ in annual savings from reduced reworks and 20% faster inspection cycles.
The Inspection Process
Understanding inspections on the shop floor
The mechanical interior inspection stage was most crucial to solve.
I observed the entire servicing process of a car at service centers, where I learned that this stage was the largest contributor to inspection mistakes and delays. With only 5 weeks, we had to be strategically selective with our project scope to ensure success.
And the expectations were sky-high for a stage that's meant to be completed in 12 minutes.
The complexity in Mechanical Interior inspections revealed the most opportunity to demonstrate the benefits of a digital inspection system.
Key Iterations: Deciding on a Checklist Type
What even makes a checklist "good"?
First and foremost, the core experience had to be solid, so I started iterating through different types of checklists.
Marking the correct items needed to be unmistakably easy, but equally efficient and error-proof. Here are some of the iterations that capture the breadth of checklist types.
But then it became abundantly clear that tradeoffs had to be made.
Key Iterations: New Inspection Flow
There has to be a better way.
My initial iterations revealed an opportunity to challenge how checklists should actually be completed.
And it wasn't just about the sequence in which mechanics went around the whole car; it was also about how they went through each section.
In each section (ex: Driver Front), I changed the inspection flow to mirror actual mechanic workflows: front-to-back, top-to-bottom, left-to-right. This was also an opportunity to chunk longer lists of items into more digestible subsections (ex: Seat Area).
Every second I could shave off looking for specific items would add up at scale.
And of course, we can't forget about the item-level: Prioritizing the information that matters most.
To create a truly skimmable list, I optimized everything down to the item-level to make them more scannable, which decreased average time-on-task (~12 min. to ~10 min.)
Key Iterations: Final Checklist Components
I had to make a judgement call.
If I didn't advocate for end-users, who will?
I prioritized making the core checklist experience as efficient as possible.
Based on mechanics' high-volume workflow, I optimized the core checklist purely for speed—accepting that accountability would need to come from other system features I'll add on next.
Next, I offloaded accountability from a system-level to layered safeguards.
Safeguard 1: Summary confirmations as an explicit "sign-off" on each mechanic's account.
I distributed accountability across the workflow instead of placing all burden on the checklist pattern itself. I created verification points that reinforced thoroughness without slowing down the core inspection flow.
Safeguard 2: Comments are supported, but only after an issue is documented.
Another opportunity to distribute accountability was gating comments until items were marked, and adding them to the summary to be confirmed at the end of a stage.
Safeguard 3: Deliberate friction to prevent skipping
Breaking the inspection into stage-by-stage pages (rather than one long scroll) served two purposes: it reinforced the mental model of completing one section thoroughly before moving on, and it prevented mechanics from accidentally scrolling past incomplete items or just skipping to the end.
This case study is being updated. Please reach out for more.
Retro
Looking back…
Decisions come about more easily with proximity to users, iteration, and feedback.
I could have designed this with less time and effort by just following the prescribed guidelines of internal teams and process engineers, but instead I heavily leveraged access to end-users to truly understand their needs and pain points. With enough iteration, I was able to get to a solution stakeholders could all align on.
The path wasn't linear, and here's more proof of the process, conversations, and compromises that it took to get here.

























