Skip to content

Image-free policy

Nothing here is a photograph of anything

Every visual on this site is drawn by code — CSS gradients, SVG, canvas or plain type. That is an aesthetic position first and a performance position second, and it is checkable: the audit below scans the source for image tags and reports what it finds, including the zero.

<img> tags in the source

2

across 138 files scanned

Image files in the build

1

the favicon, which is an SVG

Raster assets in the catalog

0

components whose copy mentions a bitmap format

Backgrounds, all procedural

33

CSS 32 · WebGL 2 · SVG 12

What this buys

  • No image pipeline, so no variants to generate, no format negotiation, no CDN transform to pay for.
  • Everything scales: a gradient at 4× density costs the same bytes as at 1×, and nothing is ever the wrong resolution.
  • Every visual is themeable and animatable, because it is code — the 33 backgrounds recolour with the page's tokens.
  • Accessibility is easier to hold: decorative layers are real elements with aria-hidden, counted 37 times in the source, rather than an alt-text problem in an editor.

Where the policy has a cost

  • A screenshot of a real component is often clearer than a live demo, and this site has no place to put one. The gallery pages are live instead, which is heavier to render and harder to share.
  • Social previews are text-only: no Open Graph image is generated, so a shared link is a title and a description. Adding one would mean a build step that rasterises — the first real image the site would ship.
  • Product work by real teams usually needs a screenshot in the changelog. The changelog here describes changes in prose, which is honest and less persuasive.

The rule this page is written to: if an image is ever added, it is added as a deliberate exception with its weight accounted for on the budget page — not quietly, as the first of a pipeline.