
01
Eighteen seconds to the photograph
Build time, measured24 min
Semantic HTML and near-zero JavaScript on an image-heavy portfolio, where the photograph is the payload and everything else is overhead.
Concept builds. Not client work — made to show what happens when the constraints are ours.
Each one says what it is, what it demonstrates, and how long it actually took.

01
Build time, measured24 min
Semantic HTML and near-zero JavaScript on an image-heavy portfolio, where the photograph is the payload and everything else is overhead.
02
Build time, measured58 min
A drag-reveal built for a thumb before a mouse, on a page where every image is drawn rather than photographed — one set of coordinates rendered twice, so the before and the after are provably the same building.

03
Build time, measured1 hr 11 min
A shared-element transition of the kind most stores need a client-side framework for, built on cross-document view transitions — the browser interpolates a product thumbnail into the product page's hero image across a real navigation, at zero bytes of JavaScript.

04
Build time, measured1 hr 18 min
Vertical Traditional Chinese setting held to the standard a reader in Taipei would recognise — right-to-left columns, punctuation in its vertical form, two-digit numerals set upright inside the column — on a CJK typeface cut to 80 KB from a 15.94 MB source, with a language switcher that lands on the translated page instead of the homepage.

05
Build time, measured1 hr 10 min
A hand-written WebGL displacement transition — a fullscreen quad, two photographic textures and a procedural noise field, with no library of any kind — so one frame melts into the next through the light in it rather than crossfading behind it, on a page whose largest paint is still an ordinary responsive img and whose three degraded paths (no WebGL, reduced motion, no JavaScript) each land on a working photography page.