Walmart fitment
Fixing the automotive tools that were quietly costing Walmart $50 million a year in returns.
What is fitment?
“fit + -ment” (Noun)
Fitment describes whether a part or tire actually works with a specific vehicle, matched by year, make, and model, sometimes trim too, shorthand the industry just calls YMM. One part can fit dozens of different vehicles, or just one. It sounds simple. In practice, with millions of part-to-vehicle combinations across every manufacturer and model year, it gets complicated fast, and getting it wrong is exactly what sends a customer the wrong part.
Overview
Context
Walmart's automotive category was growing fast, and its digital fitment tools, the thing that determines whether a part or tire actually works with a given vehicle, weren't keeping up. The problems weren't subtle: incorrect or missing technical details, unclear results, backend output that broke the experience outright. The tools existed. They just weren't helping customers get the right product.
I joined as Lead Product Designer, partnering directly with a product manager and pulling in Walmart's internal UX Research team for structured studies on top of my own research.
My Role
What I designed
The redesigned fitment experience across search, category pages, product pages, and checkout, on iOS, Android, and web
A tire education piece translating tire codes, load index, and speed rating into something a non-expert could actually use
Revised vehicle storage and management ("garage") screens, a standard automotive-commerce pattern I built out for Walmart specifically
Early concepts extending the same fitment approach to categories like oil filters, printer ink, mower blades, and camera lenses
What I led
A working audit of over 6,000 raw customer feedback entries, sorted into content, fitment data, pricing, post-purchase, and availability themes
Moderated research with Walmart's UX Research team to understand how customers actually used, and misunderstood, the existing fitment tools
Finding and surfacing a backend categorization bug that was silently breaking fitment filtering, then working with engineering to get it fixed
Collaboration with Walmart's content team on rewriting fitment messaging, and with the Living Design team on new components where the existing library came up short
Design Problems
Nobody was using the tools that existed
Only 18% of customers shopping for items that required fitment were actually using the fitment tools. Everyone else was buying blind, guessing at load ratings, tire sizes, voltage, whether a part came with the hardware it needed. The 6,000-plus feedback entries I worked through made the human cost of that obvious fast: real customers, confused and frustrated, asking questions the product page should have already answered.
The problems went wider than fitment itself
Sorting that feedback into themes turned up five real issues, not one: missing or wrong content and specs, fitment data gaps (position, manufacturer info), confusing pricing (is this per item or per set), no post-purchase guidance (installation instructions, warranty info), and availability that didn't match between what a store had and what the site claimed.
A backend bug was quietly breaking fitment wherever it wasn't deep enough in the category tree
Fitment filtering only worked reliably inside a specific child category. The moment a customer's browsing lifted them into a parent category, the same system that had just been filtering by vehicle quietly stopped, no warning, no visual change, and parts that didn't fit their car started showing up like they did. I found this myself, using the product the way a customer would, and it explained a huge share of the fitment complaints in the feedback data.
The tools weren't built to be found
Even where fitment worked correctly, it wasn't showing up where or when customers needed it. Search didn't filter by vehicle at all, so a search for "2012 Honda Civic tires" returned every tire in stock, fitting or not. And fitment status didn't persist through ordinary browsing behavior, sort, filter, refine, any of it could silently drop a customer out of a fitment-aware view without the interface ever telling them.
Challenges
Reading 6,000 complaints without drowning in them
Raw customer feedback is a firehose, not a to-do list. Turning that volume into a real, prioritized set of themes, and then confirming those themes against usability research rather than just gut feel, was the actual work before any redesign could start.
Finding a bug nobody had caught
The category-lift issue wasn't in a bug tracker when I found it. It came from spending real time inside the product, testing edge cases most people wouldn't think to try, going from a filtered child category up into its parent and watching fitment silently disappear. Once I had it documented clearly enough to show, not just describe, engineering moved on it right away. This one didn't need an executive push, just clear evidence and a direct line to the team who could fix it.
Translating research into language Walmart could actually ship
Working with Walmart's UX Research team surfaced real gaps in how customers understood fitment itself, most people didn't know why load index or speed rating mattered, some assumed they already knew their tire size and skipped the tools entirely, which is part of why returns were so high. Fixing that meant more than better UI, it meant writing an actual education piece, in plain language, and working with Walmart's content team to rewrite the messaging across every fitment touchpoint.
Working inside Walmart's existing design system, and knowing when to extend it
Walmart had an extensive, mature component library already. Most of the redesign worked within it. Where fitment needed something that didn't exist yet, I worked with the Living Design team directly to build new components rather than forcing a workaround into something that wasn't built for the job.
Solutions
A phased plan that started with what was actually broken
Fix placement, presentation, and load time for the fitment tools themselves. Fix the messaging and CTAs around them. Work toward making fitment show up in search results directly. Eliminate the category-lift bug. Keep fitment intact no matter how a customer browsed, sorted, or filtered. Add real education around tires specifically. And introduce intentional friction, an "are you sure this fits?" moment, for anyone about to buy without confirming fit at all.
Fitment fixed, not reinvented
The fits/doesn't-fit/needs-more-info logic behind Walmart's fitment tools was already standard for automotive commerce, it existed in some form before I got there. My job wasn't inventing that model, it was fixing what was broken in its execution: the load-order issue that let customers scroll past the tool before it finished loading, the disconnected proximity between a fitment message and its call to action, and the category bug that silently dropped fitment without telling anyone. Once those were fixed, I simplified the actual input UI and tightened the proximity between a fitment result and what a customer needed to do next.
An education piece built from an actual tire code
Research showed customers weren't ignoring load index and speed rating out of carelessness, they mostly didn't know those numbers existed or mattered. I broke down what makes up a tire code, translated it into visuals and short, plain descriptions, and built that into the fitment flow itself instead of leaving it as a separate help article nobody would find.
Results
I don't have a clean before-and-after metric to point to here. I was moved onto Walmart+ shortly after delivering this phase of the fitment work, and a separate team picked up the effort from there to continue rolling it out. What I can speak to directly is the starting baseline this work was built against, only 18% tool usage, roughly $50 million a year in tire returns alone, a backend bug quietly breaking fitment for anyone who wasn't deep enough in the category tree, and a fix built from real customer evidence rather than a guess: better placement, honest messaging, real education, and a categorization bug closed at the source.