Inspiration
Skincare has an evidence problem.
We buy a product, use it for weeks, and then answer a surprisingly difficult question from memory:
Did this actually work?
A good skin day, different lighting, irritation, an inconsistent selfie, or simply wanting an expensive product to work can all influence that answer.
I wanted to build a better feedback loop: one product, one job, a baseline, a follow-up, and a result that has to earn its conclusion.
The idea changed as I started working with skin measurements.
I realized that a skin measurement is not the same thing as evidence that a product worked.
Visible redness can change for reasons unrelated to the product being tested. That pushed Face Value away from becoming another one-time skin analyzer and toward something more useful: a longitudinal personal trial system built around repeated measurement, comparability, and explicit uncertainty.
What Face Value does
Face Value puts your skincare claims on trial.
The hackathon experience deliberately focuses on one clear question:
Can this product reduce visible redness?
A user:
- Registers the skincare product they want to test.
- Gives that product one explicit job: reduce visible redness.
- Captures a guided baseline before the product gets credit for any change.
- Continues using the product normally.
- Returns for a follow-up capture.
- Reviews contextual evidence that could affect interpretation.
- Receives a verdict only when the evidence is strong enough to support one.
- Can inspect the saved Evidence Record behind the recommendation.
The result is not just a score.
Face Value can recommend that the user keep using the product, test longer, retry under cleaner conditions, or stop treating the product as proven for that job.
And when the comparison is not trustworthy enough, Face Value can withhold the verdict instead of manufacturing certainty.
That behavior is central to the product.
How YouCam powers the experience
YouCam measures the skin. Face Value judges the trial.
Face Value uses YouCam Skin Analysis v2.1 as its measurement layer.
Rather than sending one image to the API and displaying the response as the answer, each baseline and follow-up period collects three distinct current frames and sends them through independent YouCam analyses.
For this trial, Face Value uses YouCam's hd_redness.raw_score as the primary optical signal for visible redness.
Those measurements then enter a longer-lived evidence system.
Face Value preserves which product is being tested, keeps the correct baseline attached to the correct follow-up, aggregates repeated observations, records relevant trial context, evaluates whether the available evidence supports interpretation, and produces a deterministic recommendation.
The important distinction is:
The API tells Face Value what changed in the skin.
Face Value determines what that change is allowed to mean for the trial.
That turns YouCam from a one-shot analysis endpoint into the sensing layer of a post-purchase decision system.
How I built it
Face Value is a mobile-first web application built with React, Vite, and strict TypeScript.
The product is organized around a reducer-owned trial state machine so registration, baseline capture, waiting, follow-up, evaluation, verdict, and saved evidence remain parts of one continuous experiment rather than disconnected pages.
Production image acquisition uses the browser camera directly. Face Value verifies that the preview is genuinely live before allowing capture, collects three distinct decoded frames during one guided session, rejects duplicate frames, uses bounded retries, and cleans up camera resources when the session ends.
The captured images are then passed through server-side routes to YouCam Skin Analysis, keeping API credentials out of the client.
The evaluation layer is deterministic and versioned. React components do not create or upgrade scientific conclusions.
I also designed the persistence boundary around privacy: raw face images remain temporary and memory-only. Saved trials preserve the evidence needed to understand the result without creating a permanent archive of the user's face.
The final result becomes an inspectable Evidence Record so the recommendation does not have to be accepted on faith.
Design approach
I wanted Face Value to feel less like an analytics dashboard and more like operating a small evidence machine.
The same physical trial object evolves as the experiment progresses:
registered → baseline locked → in progress → follow-up ready → comparing → verdict → evidence record
That continuity matters because the core product idea is longitudinal. The user should feel like they are returning to the same experiment, not opening a sequence of unrelated screens.
The interface deliberately separates two modes:
- a light workbench environment while the user is actively operating the trial
- a darker archive environment once the result has been saved and the user is inspecting evidence
The visual system supports the same idea as the architecture: the trial has continuity, and the evidence has provenance.
Challenges
Turning measurement into an honest decision
The hardest problem was not calling the API.
It was deciding what Face Value was allowed to conclude from the result.
A redness value can move because of lighting, irritation, temperature, image quality, product adherence, or changes unrelated to the product's intended effect.
That forced me to separate several concepts that are easy to collapse into one number:
- what the sensor measured
- whether the measurements agree
- whether the trial is interpretable
- how strong the evidence is
- what action the user should take
That led to one of the core rules of Face Value:
No trustworthy comparison, no verdict.
Making mobile capture trustworthy
Another major technical wall appeared on physical iPhone Safari.
My earlier camera architecture relied too heavily on assumptions about the rendering surface that behaved differently on real mobile hardware than they did during development.
Instead of papering over that instability, I separated image acquisition from skin analysis.
Face Value now owns the production camera surface directly through browser APIs and uses YouCam where its value is strongest: skin measurement.
That architecture gave me much clearer control over frame identity, capture timing, cleanup, failure states, and privacy.
Designing failure as part of the product
Camera permission can fail.
A capture can succeed while analysis fails.
A provider can return data while the overall comparison is still too weak to support a conclusion.
I had to design these as legitimate product states rather than edge cases to hide behind optimistic UI.
A successful-looking screen is not useful if the evidence underneath it is incomplete.
What I learned
The biggest lesson was that AI measurement becomes more useful when the product around it understands its limits.
My earliest mental model was simple:
analyze skin → show result
The stronger question became:
What would have to be true before this measurement deserves to influence someone's decision?
That question changed the data model, capture experience, evaluation system, failure states, interface, and even the language of the verdict.
I also learned that narrowness can be a feature.
It would have been easy to surface many skin scores at once. Instead, Face Value deliberately focuses on visible redness because different concerns require different definitions of improvement, different confounders, and potentially different evidence rules.
Adding more measurements is easy.
Making one measurement meaningful is the harder problem.
Why it matters
Most beauty technology focuses on the moment before purchase:
What should I buy?
But there is another valuable question almost nobody helps consumers answer after checkout:
Did what I bought actually earn a repurchase?
That is where I see a larger opportunity for Skin AI.
With repeated, opt-in measurements, the same technology used for analysis and personalization can become a post-purchase accountability layer.
For consumers, that could mean less money spent indefinitely on products they are unsure about.
For retailers and brands, it could create a more useful long-term relationship: not simply recommending the next product, but helping customers understand whether the product they already bought is delivering against the reason they bought it.
Face Value is a deliberately narrow proof of that idea.
It does not diagnose skin disease or claim to establish clinical product efficacy.
It does something smaller and more practical:
Remember the baseline.
Measure the follow-up.
Question the evidence.
Decide what deserves to stay.
Put your skincare claims on trial.
Built With
- css
- html5
- javascript
- mediadevices-api
- playwright
- react
- typescript
- vercel
- vite
- vitest
- web-apis
- youcam-api
- youcam-skin-analysis
Log in or sign up for Devpost to join the conversation.