Files
webgpu-portfolio/README.md

948 B

WebGPU Portfolio

Generative-art portfolio site. WebGPU canvas background, DOM overlay UI.

Dev

npm install
npm run dev        # vite dev server (opens browser)
npm run typecheck  # tsc --noEmit
npm run build      # typecheck + vite build → dist/
npm run preview    # serve built dist/

Docker

# Build
docker build -t webgpu-portfolio .

# Run (foreground)
docker run --rm -p 8080:80 webgpu-portfolio

# Run (detached)
docker run -d -p 8080:80 --name portfolio webgpu-portfolio

# Compose
docker compose up -d

Site at http://localhost:8080.

Smoke test

docker run -d -p 8080:80 --name portfolio-test webgpu-portfolio
curl -sSf http://localhost:8080/ > /dev/null && echo "OK"
curl -sSf http://localhost:8080/assets/ | head -1     # should 200 (hashed JS)
docker stop portfolio-test

Image size

~6 MB (nginx:alpine-slim + static dist). Multi-stage build — Node build layer is discarded.