Building trust to drive vehicle acquisition.

Role

Product Designer

Team

2 Product Designers, 1 PM, 2 Researchers

Timeline

Feb 26' - Aug 26'

Type

Final capstone at UW MHCID

Context

Copart, an online vehicle auction platform for selling old/damaged vehicles, has 3 inventory channels, one of the major ones being Cash for Cars.

View github prototype cray4pasta.github.io

Business Problem

Copart was not making enough profit through Cash for Cars — out of ~275k users who visited the site every month, only 10% actually sold their car.

Funnel data through Fullstory

275,128 (100%)

Users visiting

28,836 (10.4%)

Actually selling

Existing research showed this was happening because of two major reasons.

3-6 calls were required to finalize one deal, which was frustrating for users and also raised operational costs.

The pricing model could not accurately price expensive vehicles, leading to a poor conversion rate and lost leads.

User problem

The flow lacked clarity, leading to confusion & anxiety amongst users, making the final offer feel unreliable.

I conducted 5 usability interviews with one other designer to validate the assumptions set by the team, pinpoint the exact moments of confusion during the entire journey, and identify what exactly triggers trust or distrust.

01

Users need clarity to trust the offer and proceed

The platform was missing important information that is crucial for sellers in feeling confident in moving ahead.

Old final offer screen

old final offer screen

"Is this final? Will the offer change after verification, and when do I get paid?"

02

Lack of control leads to anxiety

Most of the questions in the flow were simply yes/no, which made the sellers confused and anxious about what details were taken into account to determine their car's value.

old damage question screen

"I replaced my side mirrors so they do not match — does that affect my offer?"

Data analysis

Understanding the limitations of the pricing model.

To suggest realistic solutions and improve the experience holistically, I wanted to understand the technical constraints I was dealing with and where I could push to improve the accuracy of the ML model.

Pricing model PRD document
Claude chat breaking down the pricing model

I collaborated with the product manager and data analyst over multiple meetings to get data on the model and used Claude as a partner to break it down into digestible terms for myself and my team.

The more specific/granular the data, the less accurate the price.

Not more questions but better questions.

Improving the pricing accuracy

Since updating the backend required high engineering effort, I designed solutions focusing on better inputs, working within the same limitations but still improving overall accuracy.

01

The extent of damage was the most important evaluation factor for the model, but also the one that lacked the most clarity.

Here is the after & before of the damage question:

New damage question

Old damage question

This let the users have more control over their inputs and provided the model with enough data to accurately evaluate all kinds of vehicles, while requiring only minimal tech effort.

But it wasn't easy getting here...

Exploration 1 - providing visual cues for extent of damage

Select the option that most closely resembles your Honda's condition Select the area and severity of damage

Too visually cluttered and not enough clarity on what each severity means. Such intense images might scare users into lying about their condition.

Exploration 2 - More specific, accurately point area of damage then select severity for each area

Select the area of damage or skip for no credit card questions Select the severity of damage by area

This gave users the highest level of control, allowing them to select different levels of severity for each area. It also gave the model more specific data, increasing the accuracy.

However, the model can only account for the primary/highest severity of damage, so this would mean more steps for no real value.

Solution - Select type of severity first and then area only for that kind of damage

Select the severity of damage What parts of your car have moderate damage

This solution balanced user effort & satisfaction with the model's limitations. Using "cosmetic, moderate, or structural" as UX copy is more informative than "minor, moderate, or severe."

02

Introducing image upload as an alternative to the damage question

While adding the extent of damage definitely improved the accuracy, I knew there was room to push for a little more.

Image analysis had the highest accuracy for evaluating vehicle condition, and it was already being done in the journey, just at the end, for verification purposes. So I proposed adding it as an alternative to manually inputting the damage condition.

Before

Extent of damage
Area of damage
Final offer
Image upload

After

Image upload

No

Extent of damage
Area of damage
Final offer

Yes

Copart had not explored this yet because they were afraid of drop-offs; however, they did not think about adding it as an optional route instead of a mandatory step.

Final image upload prototype

Camera view with car outline stencil to guide photo capture

Stencil to guide users and prevent photo rejections later

Actionable instructions to prevent confusion

Red/yellow/green color change for visual feedback

Design choice — only real-time photo upload

I want to call out a design decision I made here that initially received some pushback. Having real-time upload as the only option meant a higher risk of drop-offs, since people sometimes like taking pictures of their car ahead of time and using them later.

However, with the advancement of AI, it's a lot easier to manipulate images. Plus, with the limitations of the model, certain angles/lighting would make the images unusable. Since the idea behind having image upload within the flow was to increase pricing accuracy and reduce call dependency during verification, I was able to prove to the team that the pros here outweighed the cons.

Designing for trust and transparency

Balancing transparency without overwhelming the user.

The most frustrating point in the journey was the final offer page. Users were confused about next steps, and the offer wasn't convincing enough for them to actually go through with the lead. Here's how I redesigned it:

New final offer screen

New final offer screen

Old final offer screen

Old final offer screen

New final offer screen with offer breakdown and next steps

Offer breakdown to build credibility and trust in the offer

Next steps to reduce uncertainty.

Communicates deadline clearly. Neutral language to foster control rather than urgency.

Offer breakdown is a new feature that I designed.

Copart received a lot of calls asking if there was room for haggling or even questioning the fairness of the offer. During my tests, one of the most common questions asked by participants was how Copart calculates the number — they lacked confidence in the offer.

Showing users how the offer is determined would not only build integrity and trust in the company but also reduce the number of calls received. Here are a few explorations I tried:

How was this estimated

Market value

$1600.00

Mileage adjustment

$300.00

Repainting cost

$50.00

Offer breakdown displayed as a card

Too much information — it would have led to more calls, so I quickly ruled this one out.

Modal showing how this was calculated with an estimated price range

Modal with estimated price range

Could have led to gamification, with users editing their answers based on changes in the price range.

Modal showing how we determined your offer

Solution

Modal displaying how the offer is calculated

Just enough explanation to justify the offer and reduce support calls.

Building blocks

Small changes I made that led to big impacts.

01

Choosing the right progress bar

Linear progress bar

Pros: Clean & simple, less cognitive load

Cons: Very vague, does not clearly indicate how many steps remain

Segmented progress bar

Pros: Immediately communicates how many questions remain

Cons: Too visually cluttered & intimidating, can overwhelm users into dropping off

Solution

Sectional progress bar

Groups questions into sections, making a long task manageable. Sub-questions can expand/contract without disrupting the progress bar.

02

Adding skeleton screens

After: skeleton loading screen

After

Before

63% of users who saw the blank loading screen dropped off, and this was also the top source for dead clicks. I designed skeleton screens so each element can load individually and also reassure the user that progress is happening in the background.

03

Removing CTAs

After: thank you screen with go back to homepage CTA

After

Before: thank you screen with request call CTA

Before

Because Copart didn't accept cars with existing loans, having two 'Request Call' CTAs on the exit screen created unnecessary operational costs and user friction. I replaced them with a direct 'Return to Homepage' CTA to streamline the exit path.

Impact

Our work was highly praised by the Copart leadership and product teams, and most of our designs are currently under A/B testing.

Here is a snapshot from our final presentation with the entire Copart design team:

Screenshot of a video call presenting the redesign to the Copart design team

Other measurable wins

Eliminated dead-end 'Request Call' CTAs for ineligible vehicles, reducing unnecessary operational costs and call center volume.

Resolved dead clicks on loading screens and reduced rage clicks by 6% (tracked in Fullstory) by redesigning title verification and mileage input fields.

Our PM's early testing showed image upload improved pricing model accuracy by 16.5%.

Reflection

My key takeaways.

Data comes in handy at crossroads

It's inevitable to have varying opinions during a project, but if you have data to back up your argument, it becomes easier to find alignment and keep the project moving.

Design won't always be perfect and that's okay

Technology always has constraints; my role is to bridge that gap by designing in a way that users never feel the limitations of our underlying tech.