Measurement & matching

Foundation matching isn't a recommendation problem until the shade data is trustworthy.

Online foundation buying has a high penalty for error. Shade names are inconsistent, photography lies under different lighting, and most people default to rebuying the shade they already know. Adding more content, smarter sorting or a better quiz doesn't fix a data problem. So before any matching logic existed, we built the measurement layer it depended on.

85brands measured 1,275+shades mapped 500+shades / day <3sper reading All userslive, not a prototype
The infrastructure decision

The unglamorous part that made everything else credible.

Before a single line of matching logic was written, we staffed and ran a physical measurement operation. Every foundation shade — across 85 brands, 1,275+ shades — was captured through a spectrophotometer: the actual physical colour of the product, not a label or a marketing swatch. The operation ran at 500+ shades a day, under three seconds each, evaluated on DE2000 colour distance rather than visual approximation.

This was the product decision that mattered most. Crowdsourcing shade data, scraping brand descriptions, or using photography would have reproduced the same inconsistency the user was already frustrated by. Measurement made the data objective — and objective data is what let cross-brand comparison mean something.

You can't build trust in shade matching on top of untrustworthy shade data.
Spectrophotometer used to measure foundation shades
The MetaVue spectrophotometer — the operational foundation before any product feature was built.
The system

Physical shade in. Plain-language confidence out.

The pipeline had one job: take something physical and precise, and return something human and effortless. Every step from the spectrophotometer onward was invisible to the user. What they saw was a percentage and a sentence.

01 · Measure Spectrophotometer Physical shade captured from the actual product 02 · Structure LAB attributes LAB · hue · undertone opacity · reflectance formula · finish 03 · Compare DE2000 distance Fine-tuned tolerance across 1,275+ shades and 85 brands 04 · Explain Plain language darker · less yellow warmer · closer finish anchored to known shade 05 · Surface User sees 98% match Darker + less yellow Finder · listing · PDP
The UX principle

Start from what the user already trusts.

The user-facing system had one key design decision: don't ask for information the user doesn't have. No face camera. No undertone quiz. No colour-science vocabulary. Instead, the Shade Finder asked a single question: what foundation do you already wear? That known shade became the anchor. Every cross-brand match was expressed relative to it — same logic, same measurement, human language.

The result was something genuinely different from other matching tools: confidence that felt personal rather than algorithmic, because it started from something the user had already validated in real life.

Shade Finder — start from known, arrive at confident
Shade Finder screen asking which foundation the user uses
Start with the brand you already use — the anchor for everything that follows.
Shade Finder screen with brand range and shade selected
The system runs skin tone, undertone, finish and ingredient checks. The user sees a loading screen; the data layer does the work.
Shade Finder loading screen showing analysis steps
The known shade is locked in. Cross-brand discovery can begin.
Where confidence traveled

The Shade Finder was one surface. The match followed you everywhere.

Once a reference shade was saved, matching became part of shopping itself — not a separate tool. Category listings led with "Best shade matches for you" and surfaced match percentages above the grid. Product pages showed the top cross-brand shades, a confidence score and a plain-language note: "darker + marginally less yellow." The reference shade stayed visible and editable, so the user stayed in control without restarting discovery.

The same infrastructure that powered the Shade Finder powered search, PDPs and listing carousels — one data layer reused everywhere, not rebuilt per surface.

Foundation listing page showing best shade matches and match percentages
Category listings anchor the grid to the user's known shade — match percentages surface above product images.
Product detail page showing three shade matches and confidence percentages
The PDP shows three cross-brand matches, a confidence percentage, and a plain-language note. 'Darker + marginally less yellow' — the measurement, translated.
What it made possible

Infrastructure at scale, live for all users.

We launched with foundation — the highest-risk complexion category — as the proving ground for an infrastructure meant to extend across the catalog. At launch the operation was fully live for all users across Shade Finder, listing, search and PDP surfaces. Not a beta, not a subset.

Lower-risk
cross-brand trial anchored to a shade the user already trusts
Shoppable
exclusive imports and online-only brands became accessible — products that exist nowhere offline
New purchase territory
a ₹3,000+ foundation you can't swatch in a store stays unbought; verified shade fit removed that blocker
Credible
confidence backed by measurement and colour-science distance, not UI chrome

Measure the shade. Then make the measurement disappear.

Case study · Kult
Selected work
← All work