Every eye-chart app makes the same mistake, and it's fatal: it shows you letters. Visual acuity isn't about letter size — it's about the angle a letter subtends at your eye. The 20/20 line on a clinic chart is only the 20/20 line when you stand twenty feet from it; walk five feet closer and the same printed letters test a different acuity entirely. A chart's whole meaning comes from being viewed at the one distance it was made for. Photograph that chart onto a phone screen, hand it to someone who holds phones wherever they hold phones, and you've built something that produces numbers with no meaning at all.

So the phone version starts from the geometry. An angle needs two measured sides, and this activity measures both.

Side one: the screen, measured, not assumed

The first side is the physical size of the letter — the optotype — on the screen. The activity reads the display's actual geometry from the device: its pixel pitch (pixels per millimetre) and physical dimensions, not a guessed "typical phone screen". When the test draws an optotype meant to subtend a particular angle, it knows how many millimetres of glass that requires, and therefore exactly how many pixels.

Side two: the camera as tape measure — continuously

The second side is your distance from the screen, and here's the trick that makes the whole thing a measurement: the front camera watches your face and tracks the distance continuously, for the entire run — using the camera's field of view and the separation between your eyes as the reference scale.

Continuous matters. Nobody holds a phone still for a multi-minute test — you drift, lean, settle. A test that measured distance once at the start would silently accumulate that drift as bias. Instead, every optotype is re-sized against the live distance at the moment it's shown. Drift 5 cm closer and the next letter draws smaller, so it still subtends exactly the angle the test intended. The drift doesn't corrupt the result; it gets recorded separately, as the run's stability — the spread of all the distance samples taken while you were actually answering. (Samples from the setup phase, before you settled, are deliberately excluded — they'd widen a spread whose whole job is to describe the run itself.)

The ladder, and why chance level shapes it

What you actually do: an optotype — a Tumbling E, a letter with four possible orientations — appears, and you answer which way it points: up, right, down, left. Four alternatives means blind guessing is right one time in four, and that 25% chance level is precisely what the adaptive rule is chosen against — a 2-down/1-up staircase: two correct answers in a row before the letters shrink, one wrong answer and they grow. Against a 1-in-4 guess rate, that rule converges on a stable, well-defined point on your psychometric curve instead of being dragged downward by lucky guesses.

An adaptive test doesn't know its own length in advance — the trial count depends on your answers. So progress is counted in reversals, the moments the ladder changes direction: the run targets a fixed number of them, and reversals collected over reversals targeted is the only progress bar an adaptive test can honestly draw.

Where the test refuses to run at all

A phone screen has hard limits in both directions. Going down, there's a rendering floor: an optotype needs a minimum number of pixels to have its shape at all, and below that the display physically cannot draw a smaller letter — at your current distance, that floor corresponds to some best-testable acuity. Going up, there's a physical ceiling: the largest optotype that fits on the panel.

Before the first trial, the activity checks whether a usable range actually exists between that floor and that ceiling at your measured distance. If it doesn't, the test refuses to start — the screen explains the problem instead of presenting a ladder that cannot move. And a run that does complete can still end at either limit: correctly reading the smallest renderable letter means your vision is better than this screen can test, reported as exactly that sentence, not as a flattering number.

The order of the gates is the argument. When a run ends, distance stability is judged before the staircase's own verdict — because a ladder that converged beautifully while you wandered back and forth is a precise measurement of nothing. Only after the distance record passes does the staircase get to say whether it converged, bottomed out, or topped out. Each ending is a different sentence, and only one of them is a number. And an abandoned run saves nothing at all: a half-walked staircase isn't a sample of your vision, it's a sample of how far you got before putting the phone down.

How solid is the number?

More solid than you might expect — and the codebase says so explicitly, in contrast with its neighbour. The hearing test carries a standing ±10 dB asterisk because nothing on a phone can measure absolute sound pressure. Here, both sides of the angle are measured on the device: optotype size from the display's own pixel pitch, distance from the camera. Exactly one quantity is assumed — the adult average separation between human eyes, the camera's distance reference — and it contributes about ±0.02 logMAR, smaller than the test–retest spread of the clinical chart this imitates. A converged run reports logMAR with its Snellen and decimal equivalents, comparable across devices and people on its own terms.

And now the other half of the honesty, because the weaknesses are real and the activity names them. You can squint. You can lean in between distance samples. Four orientations can be part-memorized. Screen brightness and room light set the letter contrast, which a real chart standardizes and a phone cannot. The interocular assumption is an adult one, so a child's result reads long-sighted. This is a screening estimate, not an eye exam and not a prescription — a way to notice that your right eye reads a line worse than it did in March, and a prompt to book the appointment, not skip it.

One eye per run, on the record

A run covers one eye (or both together); testing the other eye is a second run, and both land as measurements under the same use case in your catalog — which is the point. The single most valuable thing a screening test produces isn't any one number, it's the series: the same eye, the same protocol, months apart, each run carrying its own stability record so future-you knows which ones to trust.

The vision and hearing tests share their staircase machinery and their refusal discipline — different senses, one protocol philosophy. For the full map of what phone sensors can measure beyond your own senses, start with the tools overview.