Built on the YouCam Skin Analysis API

Did that product actually work?

In our tests, two photos of the same face already score differently. SkinProof measures that wobble first, then only says improved or worse when the change is bigger than it. Otherwise it tells you the truth: no clear change yet.

The problem, measured (our internal test)

Real YouCam scores, but the retakes are simulated (small shift, zoom, exposure, noise and JPEG changes) from 5 public-domain portraits, not real handheld sessions. The rule's noise prior was fitted on one face; the numbers below are on the 4 other faces, where nothing changed between "before" and "after". How often did each rule claim a change anyway?

Read it as "much lower false alarms in our test", not as an accuracy claim: 5 people, simulated retakes, comparisons within a face overlap. Even a plain 3-point threshold does well here; what SkinProof adds is that the threshold adapts to each concern and to your own retakes.

Where a fixed 3-point rule breaks depends on the person

Score and faceFixed 3-point ruleSkinProof
Acne, face A (prior fitted here)43.7% false1.9%
Pores, face A (prior fitted here)21.1% false1.6%
Firmness, 4 other faces16.7% false0%
Texture, 4 other faces6.5% false0.9%

Face A is the face the noise prior was fitted on, so its numbers flatter SkinProof. Pores had the highest false-alarm rate, so they now get a higher minimum noise (3 points): 4.4% became 1.6% there, at the cost of some power. On the other faces, different scores were the jumpy ones. A single fixed threshold cannot be right for everyone; measuring your own retakes can.

See it judge (real YouCam results, recorded)

Every number below came from a live YouCam API call. Baseline = 2 retakes. Follow-up = 2 more. Pick what happened between them.

For shops: a measurement badge

Brands already show before/after photos. The shop demo turns a brand's own 2+2 photo set into a badge: "N of 12 scores moved beyond measurement noise" or "No clear change beyond noise". It uses the same pure function, about 10 lines to embed.

How the YouCam API is used

  1. POST /s2s/v2.0/file then PUT to the pre-signed URL (each photo is sent once to YouCam; SkinProof does not store it).
  2. POST /s2s/v2.0/task/skin-analysis with 12 SD concerns (acne, redness, oiliness, moisture, pore, texture, wrinkle, age_spot, radiance, dark_circle_v2, eye_bag, firmness), format: json.
  3. Poll GET /task/skin-analysis/{task_id} and read raw_score per concern. One check is 4 photos, about 14 units each.
  4. The rule: noise = the larger of your two retake gaps, a 2-point floor, and that concern's SD measured across our 5 test faces. A change counts only if it exceeds 2 x noise.

The API key stays on the server. The decision logic is a pure, unit-tested function you can read in verdict.js.

What it will not claim