These results are a sample. They do not belong to a real person, and no customer’s data is used here. Everything else is the report you would get: the same laboratory ranges, the same action bands, and the same explanations.
The whole app, on a phone.
Every screen a customer actually reaches: waiting for the lab, all nine markers, the daily plan, the month-one notice, the record after a retest, and the account. Tap through it as he would. The panel beside it moves him between the three states and is not part of the product.
Not part of the product. A real member cannot move his own result, and there is no state switcher in his account. This is here so you can walk the whole journey without waiting thirteen weeks.
What this is, and what it is not.
Real
Every band is the live one. This page calls the same classify() that serves a paying customer, against thresholds signed off by a GMC-registered GP. Drag the slider and the verdict is recomputed by the engine, not looked up in a table.
All nine markers are here, including the one with no verdict. Every explanation, every recommendation and every verdict word is the engine’s own copy, not written for this page.
Mocked
The result, the account and every interaction. No login, no database, nothing ingested. The values come from a closed pair of fixtures and are recomputed in your browser.
Dates are derived from the result, not typed: the retest is the engine’s own interval after it, so this page cannot drift from the product the way a drawing can.
Three things to notice
The numbers are never gated. Month one locks nothing at all: it comes with the kit. The results stay open whatever happens to the membership, because a person has a right of access to his own health data.
The free androgen index has no verdict at all, on purpose. And the app never joins a marker to a symptom, on the one screen where it would be easiest.