How a phone camera becomes a light meter
Here's the paradox that makes this tool interesting to build: a camera sensor measures light superbly, and a camera image tells you almost nothing about how much light there was. Photograph a sunlit street and a dim kitchen, and both files come back mid-toned and pleasant — because auto-exposure's entire job is erasing the difference. It watched the light, chose a shutter speed and ISO to compensate, and threw its measurement away after using it.
Except it didn't quite throw it away. The compensation itself is the measurement, wearing a disguise.
Reading the disguise
Think of auto-exposure as a rival light meter that refuses to share notes but always acts on them. In the dim kitchen it needed a long shutter and a high ISO to reach mid-tone; in the street, a fast shutter at base ISO. If the browser can tell you which shutter and ISO the camera chose — and on most Android phones, Chrome can — you can run the logic backwards: this much compensation implies that much light. Multiply in how far the resulting frame actually landed from mid-tone (AE isn't perfect, especially mid-adjustment) and the scene's luminance falls out of the arithmetic.
Handheld meters run the same equation with the variables rearranged. Theirs is calibrated at the factory around a constant — K, typically 12.5 — that ties luminance to suggested exposure. The meter here uses the same K, so its readings speak the same language as the Sekonic in anyone's bag. The one number the browser can't supply is the lens's aperture, because phone apertures are fixed and undocumented in the API — which is why there's a dial for it. Look up your phone's main camera (f/1.8 more often than not), set it once, and the photometry closes.
The gamma detour
One quiet correction matters more than it looks: image pixels aren't linear. Cameras store brightness through a gamma curve that matches human vision — a pixel value of 128 represents far less than half the photons of 255. Skip that correction and every reading in mixed light skews. The meter linearises each frame (an exponent of 2.2 approximates the curve well) before averaging, which is the difference between photometry and vibes.
Where the error bars come from
Adding up the honest uncertainties: the aperture dial trusts a spec sheet (exact), the gamma is approximated (small error), phone tone-mapping meddles nonlinearly in extreme scenes (the AE-clip warning exists for this), and the camera's reported shutter/ISO are truthful but quantised. Net result, measured against a handheld meter: agreement within about two-thirds of a stop out of the box, and within a third after a one-tap reference match. Negative film shrugs at a stop; digital histograms forgive more. Slide film is the honest exception — bring the real meter for Velvia.
And when the browser won't tell
iPhones keep exposure parameters away from web pages entirely. No shutter, no ISO — the disguise stays on. What remains is the frame's deviation from mid-tone, which tracks changes in light faithfully but has no absolute anchor. The page's answer is to say so in capital letters and hand you the anchor workflow: point at a known scene (midday sun is EV 15, courtesy of the previous article), tap match, and the relative readings inherit an absolute scale. Not as elegant as reading the camera's mind — but honest about being a different instrument, which is the whole design philosophy in one sentence.