djoser 9c99027ea6
Some checks failed
Build & Deploy / build (push) Failing after 35s
Build & Deploy / deploy (push) Has been skipped
feat: SPA routing, projects/resume sections, deployment infra
- Add client-side router with History API pushState (router.ts, pages.ts)
- Extend overlay with projects grid/category/detail views and resume section
- Add Gitea CI/CD workflow and webhook deployment server
- Improve Docker Compose with nginx reverse proxy config
- Add deployment script and .env.example
2026-07-26 23:48:15 +00:00

WebGPU Portfolio

Build & Deploy

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.

Description
WebGPU generative-art portfolio site
Readme 211 KiB
Languages
TypeScript 66.2%
HTML 15%
WGSL 9.1%
Python 4.7%
GLSL 3.4%
Other 1.6%