Case study · 2025–present
Tinted
Computer vision that gets skin tone right across the full range, then recommends makeup that actually matches.
The problem
Most beauty tech gets skin tone wrong for anyone who isn't light-skinned, because camera white balance and lighting swamp the signal. Tinted corrects for that and classifies tone across the full Monk scale.
Decisions, and what they cost
Every architecture is a set of trade-offs. These are the ones I made, the alternatives I rejected, and why.
Classical CV preprocessing in LAB color space
vs. raw RGB into a modelLighting is the dominant error source, and correcting it deterministically beats hoping a model learns invariance. LAB separates lightness from color so classification works on the right axes.
Monk Skin Tone scale
vs. the older Fitzpatrick scaleMonk was built for inclusive tech, with real coverage of deeper skin tones. That's the exact failure mode this project exists to avoid.
CLIP shade matching + LLM recommendations
vs. a hand-built rules engineCLIP matches visual similarity without labeling thousands of products. A rules engine is more auditable but scales poorly across brands.
Evidence it works
45-test suite across preprocessing and classification.
Full product: FastAPI backend, Next.js frontend, live camera via MediaPipe.
What I'd do differently
I'd add a labeled eval set of diverse faces with per-tone accuracy reporting, the same eval discipline I applied to the research agent.