Inspiration

Skincare boxes promise things like "reduces tan" or "brightens", and the proof is a before/after photo taken in different light, at a different angle, often with a filter. Skin apps give you a score, but none of them can tell you whether a product kept its promise, or whether a change is bigger than the error of the measurement itself. We wanted to put one claim on trial, honestly, on our own faces.

What it does

Claim to Glow takes the claim on the box and runs a small, fair trial:

  1. Claim in. An agent turns the claim text into YouCam skin concerns to track and a deadline.
  2. Split-face control. The product goes on one half of the face only. The other half is the control, so light, sleep, weather and season hit both sides and cancel out.
  3. Fair check-ins. The camera captures only when the photo matches day 0: same camera, same distance, even light, face straight. A ghost of day 0 helps line it up.
  4. Measure. YouCam Skin Analysis scores each half-face (raw_score).
  5. Filter noise. Before the trial, repeat photos in one sitting measure how much the score moves when nothing changed.
  6. Verdict. Claim met, claim not met, or not enough evidence.

For each claimed concern, with T − C the treated half minus the control half:

effect = mean(T − C at the checkpoint) − mean(T − C at baseline)
floor  = 2 × SD × √(1/k + 1/k0)

SD is the spread of T − C over the repeat photos; k and k0 are the photos at the checkpoint and at baseline (day 0 plus the repeat photos). A change counts only when |effect| > floor.

How we built it

  • YouCam Skin Analysis API is the measuring instrument. Each photo is split into two mirrored half-faces and each half is analysed, so every check-in gives a treated and a control score.
  • Backend: Python + FastAPI. Analyzer with a local result cache, noise-floor statistics, and a pure verdict function with unit tests.
  • Frontend: React + Vite + TypeScript lab app, installable on the phone. MediaPipe face landmarks run on the device for the capture gate; MediaPipe segmentation removes the background, so only background-free copies ever leave the PC.
  • Claim agent: LLM provider layer (Groq, Gemini, NVIDIA) with fallback, checked against the allowed YouCam concern list. A person confirms the result.
  • Integrity: every photo is stored with its SHA-256 fingerprint; a changed file is flagged.

Challenges we ran into

  • Noise between sessions is bigger than noise within one. Our first day-0 photo sat 2–4 SD away from repeat photos taken an hour later, with nothing changed, most likely because window light shifted. So we fixed the time and light, and made each checkpoint 3 fresh photos, averaged.
  • Does YouCam accept half-faces? We tested mirrored half-faces before building on them: it does.
  • Distance. YouCam rejects faces under 60% of the image width, and our distance drifted from day to day (76% of the width on day 0, 58% on day 1). The camera now refuses to capture unless the face width matches day 0 within ±8%.

Accomplishments that we're proud of

  • A real trial, not a mockup: three of us run a 21-day split-face trial since Oct 7, treated side on the same half for everyone, each billed to our own YouCam key.
    • Sujeet and Sahni: a face wash claiming to reduce tan and brighten (tracked: radiance, texture, moisture).
    • Suvaani: a brightening cream under one eye, for dark circles (tested off-label, and reported so).
  • Checkpoints on day 7, 14 and 21: 3 fresh photos each, averaged.
  • We measured the noise before trusting a single result, and "not enough evidence" is a valid answer.

What we learned

  • Measure the instrument first. Split-face noise (treated − control) on 5 repeat photos: radiance SD 3.06, texture 1.53, dark circles 2.75.
  • Use raw_score for change over time; ui_score differs a lot from it.
  • The tricks behind fake before/after photos (light, angle, distance) can be blocked at capture time.

What's next for Claim to Glow

A tamper-evident public receipt with photo hashes, a "verified results" badge brands can embed, and a phone-first agent that plans and runs a trial from a product link.

Cosmetic skin metrics only, not medical advice.

Built With

Share this project:

Updates