Skip to content

Going down to the basement · 0%

The basementnine jerseys, nine moments.

Experiment · OCT 2026
three.jsBlenderWebGL

Drag to look · arrow keys step through · Enter continues · Esc goes back

What it is

These are my favourite sports moments, and the athletes behind them. Hung up together, the jerseys are a pretty honest picture of who I am.

Open the closet, slide along the rod, flip a jersey over, then watch the play on the basement TV.

A lab piece, not a product. The jerseys are recreated as a fan project. I'm not affiliated with, endorsed by or sponsored by any team, league or player. Clips play from their original YouTube uploads.

How it's built

  1. 01The room and jerseys are modelled in Blender, with the lighting baked into one lightmap.
  2. 02The GLB is meshopt-compressed; phones and low-memory devices get a lighter model.
  3. 03Each hanger is a named node, so the closet's rod, swing and flip are driven in code.
  4. 04The TV is a canvas texture with a DOM overlay; nothing from YouTube loads until you press play.
  5. 05Every jersey is also a plain list below, so none of it needs the 3D to work.
01

The closet, without the 3D

Next

More from the lab

All experiments
EXP-10 · three.js · TypeScript · Natural Earth

One place at a time

A globe of dots with a bubble for every place my work took me. Drag it around and pick a place to read about it.

EXP-09 · Canvas 2D · Motion

Into focus

Dots fly in from everywhere, find their own streams, come together and go soft. Then the jh logo lands, sharp.

EXP-08 · TypeScript · SVG · Pointer events

Founding Member

TapBill's first-member card. Type your name and it fills in, sign it with a finger or a mouse, and it tilts toward you.

Home