1b5204e7f89492078d5d52e6b7deb4a6b0e99652
- one 1200x630 PNG per page per locale, design-system styled - hand-built SVG rasterised by resvg (handles variable fonts; satori cannot) - vendored Space Grotesk / Inter / JetBrains Mono TTFs for deterministic offline builds Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ResumeSite — Connor Babbington portfolio
Bilingual (English / Norwegian Bokmål) portfolio website. Static-first Astro site with a
small self-hosted .NET contact relay, built to the specifications in docs/.
- Design system & UX (Phase 1):
docs/design/ - Architecture & technical spec (Phase 2):
docs/spec/ - Build status:
PROJECT_STATUS.md· Work list:TODO.md
Stack
Astro 5 (static output) · TypeScript (strict) · Tailwind CSS 4 over CSS custom-property tokens · CSS-first motion (no animation library) · built-in i18n + typed dictionaries + content collections · zero client-state libraries · .NET 9 minimal-API contact relay · pnpm / Vitest / Playwright · Docker + nginx, self-hosted.
Quick start (local, without Docker)
cd site
pnpm install
pnpm dev # http://localhost:4321
Quick start (Docker)
# Development (HMR)
docker compose -f deploy/docker-compose.dev.yml up
# Production build preview
docker compose -f deploy/docker-compose.yml up --build
See docs/spec/DOCKER_SPEC.md and
docs/spec/DEPLOYMENT_SPEC.md for the full picture.
Repository layout
site/ Astro project (pages, components, content, i18n, styles, scripts)
relay/ .NET 9 minimal-API contact relay
deploy/ compose files, nginx config, env templates
tests/ Playwright end-to-end tests
docs/ design (Phase 1) + spec (Phase 2)
.gitea/ CI/CD workflows
Commands
| Command | What it does |
|---|---|
pnpm dev |
Astro dev server with HMR |
pnpm build |
Static production build → site/dist/ |
pnpm preview |
Serve the production build locally |
pnpm check |
astro check + tsc --noEmit |
pnpm lint |
ESLint + Prettier check |
pnpm test |
Vitest unit tests |
pnpm test:e2e |
Playwright end-to-end tests |
Description
Languages
TypeScript
53.8%
Astro
29.9%
JavaScript
9.2%
CSS
4.4%
C#
1.9%
Other
0.8%