Colophon

How this site is made

One static folder: hand-written HTML, CSS, and JavaScript. No framework, no build step, no analytics — what you load is what I wrote.

Stack

  • Plain HTML, CSS, and ES5-flavored JavaScript. Three stylesheets and a handful of scripts; the only build artifact is a 435-byte WASM module.

Color

  • A warm paper palette — cream #f2efe8, ink #1a1916, rust #b23e24 — with a dark counterpart that follows your system and a manual toggle. The terminal, fittingly, stays dark in both.

Type

  • System stacks only: Iowan/Palatino for display, Inter or PingFang for text, the platform mono for anything that smells like assembly. No glyph is downloaded.

Two languages

  • A ~250-line string table and data-i18n attributes. A first visit follows the browser; once you choose, the choice is kept locally.

Motion

  • SVG and canvas, driven by one shared play clock in the lab. prefers-reduced-motion swaps autoplay for stepping, everywhere.

The bench

  • The GEMM benchmark is hand-written WAT compiled to WebAssembly. It runs in your browser and stays in your browser — localStorage for seven days, nothing leaves the machine.

The lab

  • /lab/ is the simd-anim repository merged in with git subtree, so its history still reaches every original commit. Eighteen pages, one shared animation clock.

Deploy

  • Push to main, Vercel serves the folder as-is at www.houyuteng.com. A small node script checks internal links and the bilingual string tables.

Everything is open — the source is on GitHub