Module 01 · The skin lab
A phone camera turned into a skin analysis lab.
A dermatology appointment can take months, and in most of the world it never happens at all. This approximates a useful slice of that first consultation with a camera you already own, and it is honest about its own limits.
- 1Photo
- 2About you
- 3Analysis
- 4Reading
- loading face model
Start with a photo
A phone photo in normal light. It is processed on this device and never uploaded.
How to take the photo
The same rules the American Academy of Dermatology gives patients for teledermatology, and the ones consumer analyzers enforce before they will read a face.
- 1Bare skin: no makeup, no sunscreen residue, no beauty filter.
- 2Face a window or a lamp so the light lands on you, not behind you.
- 3Hair back, glasses off, forehead and both cheeks visible.
- 4Neutral expression, camera at eye level, face filling about half the frame.
- 5Same place, same light, every time you come back.
Measured
Tone, undertone, redness, dark spots, shine: real statistics over your skin pixels.
Estimated
Lines, pores and under-eye darkness: honest proxies that lighting can fool, and labelled as such.
Never
A diagnosis. The engine cannot tell a freckle from a melanoma, and it will say so on every page.
One engine, six things it reads
The vision pipeline is shared. What changes is what we measure.
Tone & undertone
Reads · ITA angle, Fitzpatrick band, Monk position, hue-angle undertone, all from the median skin pixel in CIELAB
Returns · The sunscreen and filter type that suits you, a pigmentation risk profile, and the base shade family for every camouflage match downstream
Redness
Reads · Pixels whose red-green axis sits above the face's own smoothed baseline, mapped by zone
Returns · Trigger mapping, barrier repair before aggression, and the calibration warning that stops a warm lightbulb reading as a flushing face
Dark spots & unevenness
Reads · Local dips in lightness against the surrounding skin, plus large-scale unevenness of tone
Returns · The tyrosinase pathway explained, the tranexamic and azelaic evidence, and the truth that none of it works without sunscreen
Texture, pores & shine
Reads · High-frequency roughness, density of shallow dips on the nose and cheeks, bright desaturated highlights on the T-zone
Returns · A staged routine, an honest twelve-week expectation, and the threshold at which you see a dermatologist
Lines & under-eye
Reads · Directional edges across the forehead and the lightness gap between cheek and under-eye, labelled as estimates
Returns · What a retinoid can and cannot do, and the camouflage math for the rest
Photo quality
Reads · Brightness, clipping, sharpness, head pose, face size and colour cast, before any score is trusted
Returns · A specific fix for the photo, the way every serious consumer analyzer gates its reading
How it works, in plain terms
- Landmarks. A 468-point face mesh finds the face and draws the forehead, cheeks, nose, chin and under-eye zones, and cuts out eyes, brows and lips.
- Colour space. Every skin pixel is converted to CIELAB, the perceptual space dermatology uses, so lightness and redness can be measured separately from each other.
- Frequencies. The image is split into large-scale tone, mid-scale pores and fine-scale texture, and each concern is read at the scale it lives at.
- Rules, not vibes. Scores and your answers pass through a rule set that only recommends ingredients with a Codex grade, and leaves out what pregnancy, age or sensitivity rule out.
It will not be perfect, and this page says so out loud.
A photo cannot see below the surface. Lighting corrupts everything, which is why colour calibration is the hard step most consumer apps quietly skip. Public dermatology datasets underrepresent darker skin badly enough that any model trained on them inherits the bias, so this engine measures rather than classifies, and treats every tone the same way. Building a working measurement system and explaining precisely where it breaks is a more useful answer than pretending it does not.
When a spot needs a doctor, not a website