Selected work Stop 05Curbie (B2C marketplace)

Search with no dead ends

Helping used-car shoppers find the right vehicle faster across a growing inventory. Curbie’s search page was hard to navigate, and that friction was pushing shoppers to other used-car sites. I rebuilt it so every search leads somewhere.

Curbie's Browse Cars page: a grid of vehicles under filter dropdowns, with the mobile version alongside.
My role
Lead Product DesignerResearch → wireframes → dev handoff
Company
CurbieB2C used-car marketplace
Team
CEO, CSO, 3 devs, marketing
Platforms
Desktop and mobileBuilt on a design system I owned
No dead-end searches

No-results searches become lead captures for the sales team

Filters · Get Notified · Benefit cards

What shipped after rescoping the design with a developer

01. The problem

A search page that sent shoppers to competitors

Curbie’s search page couldn’t stand up to competitors. Interviews and conversations with the support team showed it was hard to navigate: shoppers struggled to find vehicles, and that friction was pushing them toward other used-car sites.

The goal

Rebuild search around how people actually shop for a used car. Filters, keyword search, and browsing all need to lead somewhere, and the page should sell Curbie’s advantages (no-pressure buying and transparent pricing) rather than just list cars.

02. Research

What shoppers actually feared

Interviews surfaced a consistent anxiety: fear of missing a better deal elsewhere, and distrust of sales pressure. That reframed the brief.

The reframe

Search wasn’t just a findability problem. It was a confidence problem.

Every screen after this had to answer one question for the shopper: “Am I getting the best deal, without being pushed?”

Personas

Based on the interviews, I created a set of personas. Each one highlights goals, frustrations, and scenarios.

Personas for Ruth, Brian, and Paul & Kim used to ground the research
Empathy map and journey map for the Kim & Paul persona, contrasting current pain points against a solution journey

03. Competitive analysis

The best references didn’t sell cars

I benchmarked direct competitors, then deliberately widened the set to products whose filtering, categorization, and recommendation patterns were more mature than anything in automotive.

  • Direct competitorsAutoTrader, CarGurus, Carvana
  • Outside automotiveNike, Walmart, Netflix
  • What it shapedA “browse by lifestyle” grouping, instead of a plain spec-filter grid
Competitive analysis logos spanning automotive competitors and reference apps like Nike and Walmart

04. User flow

Every path ends in a car or a sign-up

Mapping the entry points, filters, and search bar helped me account for the no-results state early. Every path needed a clear next step: find a car that matches, or get notified when one becomes available.

Filters, the search bar, and browsing all lead to search results. If results are found, the shopper reaches a vehicle. If there are no results, a Get Notified sign-up captures a lead for the sales team. The end of the results also offers Get Notified. Entry points Filters Search bar Browsing Search results Results found Vehicle No results Get Notified sign-up Lead for thesales team End of results Filters, the search bar, and browsing all lead to search results. Results found lead to a vehicle; no results lead to a Get Notified sign-up, which becomes a lead for the sales team. Entry points Filters Search bar Browsing Search results Results found No results Vehicle Get Notified sign-up Lead for the sales team
Simplified from my full user flow. Every entry point resolves to a found vehicle or a Get Notified sign-up, never a dead end. The dashed path is the Get Notified option at the end of the results.
ArtefactThe full user flow, as presented
User flow diagram covering location, filters, search bar, and no-results branches

05. Exploration Exploration

Settle the hierarchy while changes are cheap

Paper first. Before opening Figma, I sketched on paper, deliberately staying away from pixel-perfect spacing and color while the real problem was still “what goes on this page, and in what order.” Paper made it cheap to swap and reorder components pulled from the competitive analysis, which surfaced the lifestyle-category structure before a single screen was built.

Then four layouts. I brought four structurally different layouts to stakeholders before investing in any visual polish. The goal was to settle the information hierarchy, categories vs. filters vs. search-first, while changes were still cheap.

Four low-fidelity search page wireframe explorations

The design decision

I moved forward with lifestyle and category grouping. It connected best with the research and with how shoppers thought about finding a car: by how they’d use it, not just by specs.

06. States

Designing the in-between moments, not just the happy path

Wireframes in the earlier purple brand

Search in progress

Wireframe of search-in-progress states (recent searches and suggestions) in Curbie's earlier purple branding

Recent searches and live suggestions surface as soon as someone taps the field, so the search bar is never just an empty box waiting for exact input.

Recent searches

Shown as soon as the field is tapped, so shoppers can pick up a previous search instead of retyping it.

Suggestions while typing

Live suggestions below the field, so shoppers can pick a match without typing the full make, model, or search term.

Filters

Wireframe of the filters panel open, including color swatches and applied filter chips, in Curbie's earlier purple branding

The panel shows all available filter options and applied filter chips, so shoppers can see which filters are narrowing their results.

What was missing before

There were no filters. Shoppers had to scroll through the inventory to find a car that matched what they were looking for.

The design decision

A filter panel so shoppers can refine results to exactly what they want: body style, make and model, price or financing, year, mileage, color, and more.

No results

Wireframe of the no-results state and get-notified modal in Curbie's earlier purple branding

Instead of a dead end, searches with no matches offer a way to get notified when the right car comes in.

When nothing matches

When a search or filters returned no results, shoppers could get notified when matching inventory arrived. Each sign-up also gave the sales team an email to follow up with and help find the right vehicle.

At the end of the results

Instead of leaving the bottom of the results empty, an option to get notified about new inventory turned the end of a search into a lead the sales team could use.

07. Design system

A rebrand landed mid-project, so I built the system

Partway through, Curbie moved from purple to navy and teal as part of a company-wide rebrand.

Curbie's rebrand slogan, tagline, and logo
Curbie's navy and teal color system

Beyond the new palette, I owned building the design system itself: colors, type scale, iconography, and every core component (buttons, inputs, dropdowns, chips, modals, and more), documented with states like hover, error, and disabled.

Every screen after search, and every designer who touched Curbie after me, inherited the same components instead of rebuilding them.

Components, documented with their states

Documented buttons, floating action buttons, links, and form controls (radio, check, switch, slider) with active, hover, and disabled states
Documented input fields, unfilled and filled, with default, icon, error, and disabled states
Documented dropdowns, chips, tooltips, and modals including a confirmation variant

Building search on a shared system meant I wasn’t restyling one page in isolation. The decision paid off well past this project.

08. High fidelity & the roadblock

The finished design didn’t fit the database

Using the new style guide and design system, I brought the high-fidelity design to life in Curbie’s new identity.

Merchandising, not just filtering. Search could have stayed a plain filtered grid. Instead I treated the top of the page as merchandising space: a seasonal “Winter Ready” banner surfacing a curated set of vehicles, the way a retailer features a collection rather than dumping every vehicle on one page. It gave Curbie a lever to promote inventory that mattered without touching the filter logic underneath.

When I walked the finished high-fidelity design through with developers, the estimate came back long.

Rescoping with engineering. Instead of pushing the deadline, I went back to the design with a developer’s input on what the current data model could actually support, cut the features that demanded the heaviest rework, and re-presented a scoped-down version. That version got a timeline stakeholders could accept.

Our database wasn’t structured to support it, and reworking it would have blown the timeline.

Designed → shipped

Designed (not shipped)

Winter Ready seasonal merchandising banner above the search results grid, desktop and mobile

The high-fidelity design before rescoping: lifestyle and category rows, lifestyle tiles, and the “Winter Ready” merchandising banner, on desktop and mobile.

Shipped

Shipped Browse Cars page on desktop: a single grid of vehicles with photo, price, monthly estimate, and kilometers, under a row of filter dropdowns and sort

The shipped results page: a single grid of vehicles, with filters and sorting doing the work of narrowing results.

The biggest cut

Lifestyle and category grouping, the structure the research had pointed to. The data model couldn’t support it without a major rework, so we shipped a simpler, filter-based version instead.

The design decision

Keep a single results grid the existing data model could support, and make filters and sorting the main way to narrow results.

What changed in the version we shipped

Layout

Designed: lifestyle and category groupings.

Shipped: a single grid of vehicles, narrowed by filters and sorting.

No results

Designed: a no-results state with a Get Notified option.

Shipped: as designed, rebuilt in the new navy and teal brand.

Filters

Designed: a filter panel with applied filter chips inside it.

Shipped: the core filters, without the active filter chips inside the panel.

09. In production

The no-dead-ends promise survived the cut

No results

The no-results state and its Get Notified option shipped as designed, rebuilt in the new navy and teal brand. On desktop, the Get Notified modal lists the shopper’s active filters.

Shipped
Shipped desktop no-results state: with Mazda, a price range, and Black applied, a Get Notified modal lists the active filters and asks for a name, email, and optional search name, with popular cars suggested below

Filters

The shipped filter panel kept the core filters, including price with a cash and financing toggle, but removed the active filter chips from inside the panel.

Shipped
Shipped desktop filters: the Price dropdown open with a Cash and Financing toggle, min and max fields, and a range slider, above the vehicle grid

Implementation. I stayed embedded with development through the build, testing for bugs and design drift, and writing code myself where it moved things along faster than a back-and-forth would have.

10. Trust

Answering the trust objection inside the results

Rather than a separate “why Curbie” page shoppers would never visit, I placed benefit cards directly inside the results grid, where people were already scanning.

Benefit cards for free delivery, 7-day test own, and transparent pricing shown inline in search results

Why I added them

Research showed shoppers were afraid of missing a better deal and wary of sales pressure. Curbie’s advantages answered both, but they lived on pages most shoppers never reached.

The design decision

Benefit cards between vehicles in the results, so shoppers saw why Curbie was different at the moment they were comparing cars and deciding where to buy.

The same page does double duty: helping people find a car, and answering the trust objection from research at the same time.

11. Results

What changed

No dead-end searches

No-results searches become lead captures

  • ProblemShoppers struggled to find vehicles, and that friction pushed them toward other used-car sites.
  • DecisionMap every entry point early, and give no-results searches and the end of the results a Get Notified option.
  • OutcomeEvery search path resolves into a result, a suggestion, or a notify sign-up, and each sign-up gives the sales team a lead to follow up.

What shipped

  • FilteringRefine results by price or financing, body style, and more.
  • No dead endsEvery search path resolves into a result, a suggestion, or a notify sign-up.
  • Brand trust built into the flowBenefit cards surface Curbie’s differentiators without a detour.

12. Reflection

What I learned

  1. Check feasibility before finalizing.

    Looping in developers earlier would have avoided redesigning a “finished” high-fidelity flow under deadline pressure.

  2. Widen the competitive set on purpose.

    The most useful reference points weren’t other car sites. They were apps with more mature filtering and merchandising patterns.

  3. Incremental beats ambitious when scope is contested.

    Landing a simpler version that shipped mattered more than holding out for the original vision.

Try it

Clickable prototype

I built interactive prototypes instead of static screens, so we could test how search actually felt to use and catch issues before development.

Search prototype
Loading prototype…
*Vehicle images are placeholders and are not Curbie photos.

Stop 01AgencyAnalytics (B2B SaaS)

AI benchmarking, forecasting & anomaly detection

Read the case study