Built for one bar of signal.

These are not lab numbers. They are measured by your browser, on your device, for the page you are looking at right now.


First byte
… ms
Time for the first byte of this page to reach you from the nearest Cloudflare data centre.
First paint
… ms
When text first appeared on your screen.
Largest paint
… ms
When the biggest thing on screen finished drawing. Google calls under 2,500 ms good.
Layout shift
…
How much the page jumped around while loading. Under 0.1 is good; 0 is perfect.
Transferred
… KB
Everything your browser downloaded for this page, after compression.
Long tasks
…
Moments the browser was too busy to respond to you for 50 ms or more.

Measured on this device with the browser Performance API. A dash means your browser does not report that measurement.

Checking for WebGPU…

How it is built

Plain HTML, built ahead of time

Every page is generated once at build time and served as a finished file from Cloudflare data centres close to you. Nothing is assembled on a server while you wait.

No framework in your browser

There is no JavaScript framework running here. Content pages carry only a few lines of inline script to measure the numbers above. The Tape Lab adds one small module of its own.

Real-time 3D with WebGPU

The stick on the home page and in the Tape Lab is rendered live on your graphics chip with WebGPU, written by hand with no 3D library. The tape is not a picture: it is calculated for every pixel as a spiral around the blade, so colour, width, overlap and wax change instantly. The ice reflects the stick and puck in real time.

Loads only when it can help

The 3D engine is a small file that downloads after the page has finished loading, and only on devices that support WebGPU. Everyone else sees fast, sharp drawings made of code, with no photos to download.

One font, loaded early

The headline typeface is a single variable font file, preloaded with the page. A size-matched fallback holds its space so text does not jump when the font arrives.

Styles inside the page

The CSS for each page is inlined into the HTML, so the browser never waits on a separate stylesheet before it can draw.

Animation off the main thread

The tape wrap, puck slide and tape ball move only with transforms and opacity, which the browser hands to the graphics processor. Your phone stays responsive while they play.

The next page is ready before you click

In browsers that support Speculation Rules, pointing at a link quietly prepares that page in advance, and pages crossfade between each other with view transitions.

Respects your settings

If your device asks for reduced motion, animations are switched off. Everything works by keyboard, and colours meet contrast guidelines.