Personal website and playground.
Static site built with Hugo and Vite, styled with Tailwind. The header is a real-time WebGPU scene — instanced grass, weather, a day/night cycle — with a static image fallback where WebGPU is unavailable. No runtime dependencies, except KaTeX on posts that ask for math.
npm run dev # Vite + Hugo, hot reload on :1313
npm run build # → dist/
npm start # preview the build
npm run lint # Prettier checkcontent/posts/ blog posts, Markdown
layouts/ Hugo templates
js/webgpu/ renderer, shaders, GPU resources
js/shared/ camera, time, wind, atmosphere, boids
css/ Tailwind entry point
scripts/ image conversion, font subsetting, screenshots