Consumer Trade-In & Diagnostic Mobile Experience

Overview

When someone trades in an old phone, they want to know two things: what it's worth, and that they're not going to get lowballed once it's actually in the store's hands. The existing process couldn't promise either — customers filled out a vague, text-based questionnaire about their phone's condition, and the trade-in value they were quoted often didn't match what they got once a warehouse tech inspected the device in person. I designed the mobile diagnostic flow that fixed this by letting the phone test itself.

This project reached the final prototype before being deprioritized and didn't ship. The design thinking below reflects what it was built to solve.

The Problem

Self-reported condition forms don't work well for something like a phone trade-in. Customers either overestimate their phone's condition and get a lower offer in-store than they expected, or they get flagged incorrectly by a manual test — a smudge or a fingerprint on the screen misread as damage, a phone that's actually fine getting marked "broken." Both versions of the problem cost the business money and cost the customer trust.

The existing flow also assumed a level of technical comfort a lot of customers didn't have. Text-heavy condition questions asked people to self-diagnose things like screen delamination or battery health — reasonable for someone technical, confusing for most people.

My Role

I was the lead mobile UX designer on this project. That meant designing the diagnostic flow itself, but also sitting in the room with backend engineering and retail operations to make sure the technical requirements on their end didn't turn into a confusing experience on the customer's end. Accessibility (AODA compliance) was part of the brief from day one, not a pass at the end — full screen-reader support, and alternatives for any interaction that assumed a customer could shake, tap, or see the screen.

The Solution

Discovery & mobile architecture

The locked phone problem

Customers mailing in a phone without removing their personal lock screen was causing shipments to get stuck in limbo. I designed a hard-stop step that catches this before the customer ships the phone, not after.

One System, 100+ Devices

I built this as a component system in Figma rather than a fixed layout, so it adapts automatically across a wide range of phone models and sizes, and can be re-skinned for the company's other retail sub-brands without rebuilding it from scratch.

Let the phone test iteself

Let the phone's own hardware do the testing instead of asking the customer to self-report. Where a manual test was unavoidable, I turned it into something closer to a simple task than a technical form.

Show, don't ask

Where a customer's own input mattered — like judging screen condition — I replaced the old text questions with something they could actually interact with rather than guess at from a description. More on that below.

Automation first

The flow runs background hardware checks automatically — battery health, connectivity — before asking the customer to do anything by hand. That way people aren't asked for manual input on things the phone can just check itself.

Understanding the tool

Interactive Tests

Camera Flash & Validation

Real-Time Valuation Summary

A screen test usually asks the user to self-report damage — but a smudge and a hairline crack look identical to someone who isn't looking closely. Getting this wrong either flags a working phone as broken, or misses real damage.

The Problem

Traditional screen checks are hard for non-technical users to figure out, and simple dirty spots can easily look like permanent hardware damage.

The Design Solution

I designed a swipe-to-reveal test: the customer swipes across colored blocks covering the screen, which clears the screen and checks the display at the same time.

The Logic

If a spot doesn't clear, the app prompts the customer to wipe the screen and try again before it's flagged as damage — catching the smudge-vs-crack problem before it costs anyone a trade-in.

Understanding the tool

Interactive Tests

Camera Flash & Validation

Real-Time Valuation Summary

A screen test usually asks the user to self-report damage — but a smudge and a hairline crack look identical to someone who isn't looking closely. Getting this wrong either flags a working phone as broken, or misses real damage.

The Problem

Traditional screen checks are hard for non-technical users to figure out, and simple dirty spots can easily look like permanent hardware damage.

The Design Solution

I designed a swipe-to-reveal test: the customer swipes across colored blocks covering the screen, which clears the screen and checks the display at the same time.

The Logic

If a spot doesn't clear, the app prompts the customer to wipe the screen and try again before it's flagged as damage — catching the smudge-vs-crack problem before it costs anyone a trade-in.

Understanding the tool

Interactive Tests

Camera Flash & Validation

Real-Time Valuation Summary

A screen test usually asks the user to self-report damage — but a smudge and a hairline crack look identical to someone who isn't looking closely. Getting this wrong either flags a working phone as broken, or misses real damage.

The Problem

Traditional screen checks are hard for non-technical users to figure out, and simple dirty spots can easily look like permanent hardware damage.

The Design Solution

I designed a swipe-to-reveal test: the customer swipes across colored blocks covering the screen, which clears the screen and checks the display at the same time.

The Logic

If a spot doesn't clear, the app prompts the customer to wipe the screen and try again before it's flagged as damage — catching the smudge-vs-crack problem before it costs anyone a trade-in.

The retail dashboard

The retail dashboard

The customer's side of this was only half the project. The results of that mobile diagnostic needed to actually be useful to the retail employee receiving the phone, so I also designed the internal dashboard retail and warehouse staff use to process incoming trade-ins.

When a customer finishes the test at home, they get a QR code. Scanning it at the counter pulls up the diagnostic results already run at home, so the employee isn't re-testing a phone that's already been checked. Because staff are processing a high volume of devices, the dashboard is built around scanning and status at a glance rather than detail-first: a color-coded status system (Awaiting Return, Device Certified, Recycled/Broken) so someone can match a physical box to a digital order without reading through details, and a search that works off whatever the employee has on hand — name, order number, or tracking ID.

The customer's side of this was only half the project. The results of that mobile diagnostic needed to actually be useful to the retail employee receiving the phone, so I also designed the internal dashboard retail and warehouse staff use to process incoming trade-ins.

When a customer finishes the test at home, they get a QR code. Scanning it at the counter pulls up the diagnostic results already run at home, so the employee isn't re-testing a phone that's already been checked. Because staff are processing a high volume of devices, the dashboard is built around scanning and status at a glance rather than detail-first: a color-coded status system (Awaiting Return, Device Certified, Recycled/Broken) so someone can match a physical box to a digital order without reading through details, and a search that works off whatever the employee has on hand — name, order number, or tracking ID.

The Expectation

What this was designed to solve

By replacing old, text-based questionnaires with the automated hardware tests I designed, the project successfully solved major business issues while creating a much smoother experience for customers.

1

More accurate pricing, by removing the guesswork

  • Letting the hardware test itself — instead of asking the customer to self-report condition — was meant to close the gap between the price a customer saw at home and what they got in-store. That mismatch was the single biggest source of customer frustration in the existing flow.

2

Faster in-store processing, by moving work earlier

  • Because the diagnostic work happens before the customer walks in, the design turns intake from a full manual retest into a scan-and-confirm — the QR code hands the store rep results that are already done, not a phone they have to test from scratch.

3

Built to scale without a rebuild

  • The component system was designed to extend to new phone models and the company's other retail sub-brands without redesigning it each time — a deliberate bet that this would need to flex fast around a flagship launch cycle, even though that scenario wasn't tested against real traffic.

The Takeaways

Key learnings as a designer

1

Losing progress mid-test kills trust quickly

This was a multi-step process customers were doing on their own, at home, sometimes over several minutes. If the app lost their progress partway through, most people weren't going to start over. Making sure the flow never dropped someone's place turned out to matter more than almost any other single design decision.

2

Being involved in backend meetings changed how I design

Understanding the actual constraints of the hardware testing — what the phone could and couldn't reliably detect — meant I could design around real limitations instead of designing something engineering had to push back on later.

3

Accessibility works better designed in

Building screen-reader support and non-gesture alternatives from the start, rather than retrofitting them, meant they were actually well-integrated into the flow instead of feeling like a separate track.

Try Out the Prototype

© Teodoro Studio 2026

Design systems · Product UX · Enterprise tools