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