Why this is not a gimmick.
A model free to say anything will eventually say something flattering, something wrong, or something that gets a salon sued. NailScan is built to make all three structurally difficult. Here is how, in enough detail to argue with.
The model is not asked for an opinion. It fills in a form.
Five fields. It cannot add a sixth, cannot skip one, and cannot answer in prose. That is what makes the service it recommends — and the price attached to it — repeatable every single time.
Plate texture. Ridging, pitting, lamellar peeling, residue from prior wear.
Bed and plate coloration read through the plate. Uniformity, staining, yellowing, banding, and where it begins.
Thickness, breakage, splitting, thinning, and separation of the plate from the bed.
Eponychium and proximal fold. Dryness, build-up, trauma, evidence of over-cutting.
Whether the photograph supports a reading at all. The one field that can stop everything else.
A fixed schema is what makes the output a database row instead of a paragraph. It is the reason findings can be mapped into CRM fields, filtered, counted and used to branch a follow-up sequence. Free-text AI output can do none of that.
Thirty formal conditions the schema has to tell apart, and the reason a labelled training corpus was never going to work here: this is a fraction of the space, before you add gel, acrylic, chrome, extensions, grow-out and every skin tone under domestic lighting. We wrote a specification instead of annotating fifty thousand photographs. Illustrations · not client photographs · no client image appears anywhere on this site
Seven regions. Five fields.
ONYX-5 does not ask the layer to look at “the nail.” It directs attention to named regions and states which field each one informs.
A reading is only useful if it is localised. “Something looks off” cannot drive a care plan, populate a field, or justify a price. “Two of five plates want reseating at the lateral fold” can do both, prices the prep step, and can be checked against a technician's own eyes.
The color field has to separate these eight, and it has to know where on the plate each one sits — a cast across the whole nail is a different finding from a cast confined to the outer third. These are descriptive categories. They exist to route her to the right service at the right price, and the report never names a condition.
Where the model sits, and where it does not.
One probabilistic stage out of seven. Everything a client is told is produced downstream by deterministic code.
She gets one more shot, so the first answer is the right one.
Design principle · accurate beats fastThe same hand, twice, gets the same answer.
This is the clearest line between an instrument and a novelty. A generative toy re-rolls its answer every time because nothing constrains it. Here the model's entire output surface is five observation fields, and everything consequential is computed from them in code — so advice is not re-derived, it is calculated.
Low sampling temperature, schema validation at the tool boundary, a pinned and version-stamped rubric, and versioned care content. Because the raw fields are stored, any historical report can be re-rendered exactly as the client saw it.
The part that sets the price is code you could read over a coffee.
Which service a client is offered — and what it is quoted at — is decided by the function below. Not a prompt. Not a model output. Toggle the readings and watch it run.
Checked against a human holding a microscope.
Model output never compared to ground truth is a guess with good formatting. In the reference deployment, every scan could be validated in person: clients were offered a free in-studio assessment, and a technician walked the report nail by nail under magnification.
Disagreements get sorted into three causes, and only one of them is a model problem. Usually the rubric was ambiguous — a specification defect, fixed by editing a paragraph. Sometimes the photograph could never have supported the reading, which is an admission-control problem. The residue is genuine extraction error, tracked separately.
What it does not do.
Published deliberately. A vendor who lists no limitations is describing a demo.
- It does not diagnose. No condition named, no infection identified, no pathology asserted. It reports what is visible and, where the rules require, recommends professional review.
- It is not a medical device and is not offered, marketed or certified as one.
- It cannot see what a photograph cannot show. Subsurface conditions, anything under polish or an enhancement, anything outside the frame. The report says so rather than guessing.
- It does not replace a technician. It gets a better-informed client into a chair, where a trained human does the work.
- It asks for one more photo. Below the confidence threshold she gets a retake prompt rather than a quote your front desk cannot honour.
- It does not flatter. If the nails are damaged, the report says so. Salons wanting a tool that compliments every client should not buy this one.
- Extraction is not claimed to be bit-deterministic. The derivation layer is, by construction. The perceptual layer is variance-bounded. That distinction is in the white paper and we will not soften it.
Bring your hardest question.
On the call we run a live scan, show the unrendered model output beside the finished report, and walk the service and pricing logic line by line.