01 · Method
How the numbers are made.
web-vitals beacon → nightly percentile rollup → p75 over a 28-day window
Every real visit to a gallery or to this site runs Google's open-source web-vitals library and beacons its Core Web Vitals back when the tab closes: LCP, INP, CLS, TTFB and FCP. A nightly job folds the raw beacons into daily percentiles per surface; days with fewer than 20 samples for a metric are discarded as noise rather than published. What renders below is each day's 75th percentile, averaged across the window and weighted by that day's sample count - so a quiet Tuesday cannot drag the number around. It is an approximation of a true 28-day p75, not the exact figure: computing that would need the raw beacons, and those are pruned. We publish the approximation and name it rather than round it up into a percentile it is not.
The beacon is anonymous by construction, not by promise: no cookies, no IP addresses, no user agent strings, no gallery, visitor or session identifiers are collected or stored - each beacon is four fields (metric, value, surface class, mobile-or-desktop) and nothing else, so two visits from the same person are indistinguishable from two strangers. Our own admin traffic is excluded so staff on fast machines can't flatter the numbers, and raw beacons are deleted after 30 days once rolled up.