The name

"You slept on it" — the thing that was quietly doing the work while you gave the credit to something else. That is the whole product in three words.

Why this exists

You change three things at once. A new serum, a fortnight of bad sleep, a stressful month at work. Six weeks later your skin looks different and you credit the serum, because the serum is the thing you paid for.

Nobody can untangle that from memory. It is not a discipline problem, it is an arithmetic problem, and arithmetic is exactly the thing a phone is good at.

What it does

Photograph your face on a schedule. Log the boring things next to it: hours slept, water, stress, alcohol, whether you changed a product. After a few weeks Slept On reports which of those your skin was actually responding to.

Not "is this product working" — that is one variable. What in my life is showing up on my face is the question people actually have.

YouCam is the instrument

Perfect Corp's YouCam AI Skin Analysis scores seven concerns from a single photograph. That reading is the raw material, and it is the only thing in this app that is not my own arithmetic.

The important design decision is that the API is called on a schedule, not once. One call tells you about today. Forty calls across six weeks are a series, and a series is the only thing a correlation can be computed from. Slept On turns a per-photo scoring endpoint into a longitudinal instrument.

Cost is observed rather than assumed: the credit balance is read immediately before and after a real call, so the 12-units-per-capture figure on screen was measured. Live balance at build time was 1,500 units.

The number nobody else prints

Seven factors, seven skin metrics, three time lags. That is 147 hypotheses.

At p < 0.05, roughly seven of them will look significant from pure noise. Run that search, show the winners, and you have not found a pattern. You have manufactured one.

So every p-value here is Benjamini–Hochberg corrected across the family of tests actually run, and the family size is displayed on screen next to the result. When nothing survives the correction, Slept On says so:

"We tested 147 relationships and none of them held up. That is a real answer. Most tools would have shown you the best-looking one anyway."

That sentence is the product. Everything else is a diary.

No model decides anything

There is no LLM in the decision path. Every coefficient, p-value and finding is arithmetic you can follow by hand, and the same diary always produces the same answer. A tool telling you to change how you sleep should trace back to a formula and a data source, not to a model's weights.

93 tests, all offline, all deterministic, about two seconds.

Every claim carries its sample size

A finding over five days and a finding over forty days do not get to look alike on screen. Confidence is printed next to the claim, not buried in a methods page.

Honest limits

  • This is n = 1. One person's diary over weeks, not a clinical trial.
  • Sleep, water and stress are self-reported, and people are unreliable narrators about all three.
  • Correlation over a few weeks cannot rule out a confounder you did not log.
  • Skin scores move with lighting and camera position. The app flags capture quality rather than pretending every reading is comparable.
  • It does not diagnose anything and it is not a medical device.

Built With

  • benjamini-hochberg
  • next.js
  • perfect-corp
  • react
  • skin-analysis
  • statistics
  • tailwindcss
  • typescript
  • vercel
  • vitest
  • youcam-api
Share this project:

Updates