-
-
Verdict day: one result per claim next to its threshold, then Keep or Return. Synthetic test faces, brand hidden.
-
Landing on a phone: find out if it works on your skin before the return window closes.
-
Claims read from the author's real label. A claim a photo cannot check is left out, with the reason. Brand hidden.
-
Day 0 with the YouCam JS Camera Kit: live Light, Framing and Angle checks. Synthetic test face, not a real person.
-
Compare day 0 and verdict day with YouCam detection masks. Synthetic test faces, real YouCam results.
-
The author's real trial, published as it runs: numbers only, no face photo. Brand hidden.
-
Privacy: face photos stay on the phone and go only to YouCam to be measured. No account.
Inspiration
Skincare labels promise results on a schedule: "fades dark spots in 4 weeks". Shoppers can only judge by eye, and they usually decide after the return window has closed. Nearly half of 633 skincare brands had no independently verifiable evidence behind any of their high impact claims (M11 report, Dermatology Times, Oct 13, 2026), and a JAMA Network Open study found an undeclared prescription steroid in 6 of 18 skin products sold online for eczema, psoriasis, dermatitis or dark spots (Dermatology Times, Oct 14, 2026). People need a way to check a promise on their own skin, in time to act on it.
What it does
Verdict runs a personal, measured trial of one product:
- Scan the label. The printed claims are read and matched to what YouCam AI Skin Analysis measures. Claims a photo cannot check are shown and left out, with the reason, never stretched.
- Plan around the return window. Enter the price and return window; check-ins are placed so the verdict lands before the deadline.
- Day 0, two photos. Two guided captures one after the other measure how much a reading moves on its own: your personal noise floor.
- Check in with the YouCam camera kit's live quality guide (Light, Framing, Angle), reminded by a calendar file.
- Verdict per claim: Holding up, Getting worse or No measurable change, always shown with the size of the change and the threshold. Then Keep or Return, with the refund at stake and the days left.
- Compare photos with YouCam's detection masks, and share a review card built only from measurements.
- Health guardrail: if redness or blemishes rise beyond the threshold twice in a row, a calm suggestion to pause the product and see a dermatologist. Never a diagnosis.
Try it on a phone, no account: https://verdict-skin.vercel.app. The same day test takes about 10 minutes: https://verdict-skin.vercel.app/trial/new?quick=1
The author's real trial, a $30 cream with a 30 day return window, published as it runs (numbers only, no face photo, verdict on Nov 19): https://verdict-skin.vercel.app/demo
Demo video (1 min 52 s): https://youtu.be/BytZCRZm_bE. The faces in it are synthetic test faces of a fictional person, labelled on screen, with the real YouCam results for those images. The product's brand name is hidden.
How we built it
- Next.js 16 (App Router) and TypeScript, installable as a web app, deployed on Vercel.
- All trial data lives in the browser (IndexedDB). Face photos go from the phone straight to YouCam through a pre signed upload URL; Verdict's server only holds the keys, creates tasks and enforces the budget.
- Label reading with Claude (claude-sonnet-5-5) using structured output, so every claim comes back with its timeframe, mapped concerns and a reason when it cannot be measured. Only the label photo is sent, never a face.
- Pure, unit tested measurement code: baseline, threshold, verdict, guardrail, schedule, calendar file, backup format (118 unit tests). Playwright journeys on phone and desktop for every screen (78 passing against a Vercel build).
- Spec driven: constitution, specification, clarification, plan, tasks and analysis before code.
YouCam APIs used
- AI Skin Analysis (v2.1, JSON results, HD when the photo allows, never mixed with SD in one trial): twelve concerns that map to label promises, plus redness and acne on every analysis for the health guardrail. Verdicts use
raw_scoreonly: YouCam documentsui_scoreas adjusted to be more favorable, and in our tests it sat up to 40 points higher, which would flatter the product. - File API with pre signed upload: the face photo never touches our server.
- JS Camera Kit in skincare mode with the strict quality preset, 1080p: comparable photos week after week, fewer failed analyses. Tested on an iPhone: 1080 px wide HD captures.
- Credit endpoints (free): budget caps without a database, so the demo stays usable through judging.
Consumer and eCommerce value
- Shoppers get a yes or no on each promise while a refund is still possible, with the amount at stake and the deadline in view.
- Retailers and marketplaces get a new kind of review: measured on one person, with numbers and thresholds instead of stars, which other shoppers can trust for what it is.
- Brands with real results can be told apart from brands with unverifiable claims.
Challenges
- Making "no change" honest: a single before and after pair is meaningless without knowing how much readings move on their own. Two day 0 photos per user solved it.
- Keeping biometric photos off our servers while keeping keys off the client: pre signed uploads.
- The camera kit's strict preset never captured by itself in ordinary indoor light; an undocumented
YMK.capture()and a manual shutter, enabled only when face, position and angle are good, fixed it. - Running a free public demo on a fixed unit budget without a database: a pace line plus a daily ceiling computed from YouCam's free credit endpoints, and a signed per device cookie.
What's next
- Retailer integration: start a trial from an order confirmation, with the return deadline filled in automatically.
- Aggregated, opt in measured reviews per product.
- Region level results (forehead, cheeks) from the HD subregion scores.
Built With
- anthropic
- claude
- indexeddb
- next.js
- perfect-corp
- playwright
- react
- typescript
- vercel
- vitest
- youcam-api
- zod

Log in or sign up for Devpost to join the conversation.