b4b293bdb4d1b8dda7ee3a2e89e6533e8974fc96
- portrait: warm outdoor headshot, cropped 4:5 and optimised to WebP (800x1000, 116kB), used in hero + about - JobTrack case study: three real seed-data captures (applications, dashboard, reminders) optimised to WebP (~40kB each) replacing the placeholder skeletons - alts/captions updated to match the real screens 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%