Colophon
How this site is made
Static HTML, CSS, and vanilla JS. No framework, no bundler, no build step — every page here is exactly the file the browser gets.
- 0Build step
- 29Projects shipped
- 4Live 3D CAD models
- < 1sDeploy to Vercel
Type and colour
Outfit for display and body, IBM Plex Mono for data and code. Background #0b0b0d, ink #f2f2ef — the Vacuum template, dark-themed, used across the project write-up pages (this one included). The homepage itself runs a separate JetBrains Mono / amber-accent system, deliberately more "engineering tool" than "editorial."
Hosting, forms, and analytics
- Hosted on Vercel from the static file tree — push to deploy, no CI pipeline to babysit.
- The contact form uses EmailJS directly in the browser; no backend, no database.
- Optional Vercel Web Analytics via
/_vercel/insights/script.js. No cookies from this site itself. - Every page carries its own OG/Twitter card metadata, canonical URL, and a JSON-LD
Personblock on the homepage — so a shared link looks intentional, not like a bare title tag.
Project pages
Most tools (Turbo Forge, Injector Forge, rockmoc, COPV, regen cooling, and the rest) are self-contained HTML apps or write-ups living in this same folder — open any *.html file directly, there's nothing to compile. CAD models render live as rotating .glb files via <model-viewer>, in the homepage's CAD section and in the full cad.html gallery — not static renders.
Trying things without leaving the page
The homepage's "Try It Live" section embeds the actual Y+ & Boundary Layer Design Toolkit inline, in an iframe — no separate tab, no install. The résumé page does the same for the CV itself: an inline PDF preview plus download, open-in-new-tab, and print, rather than a bare download link.
Errors
Unknown routes serve 404.html. Platform failures can serve 500.html.
Jumping around
On the homepage, press Ctrl+K (or Cmd+K) — or click the ⌘K button next to Connect in the top bar — to fuzzy-search every section and all 29 projects and jump straight there.