0d45b32bd5a13df0cc2332eaae4342ce7e0c5f98
Re-audited both apps (full codebase + docs) and rewrote both case studies to a professional-SaaS structure: Solution and Feature Showcase are new sections (schema + FeatureList component), Engineering Highlights/Challenges reframe the existing architecture/decisions content around real, verified engineering work (deterministic CV match, multi-provider email abstraction, SSRF-hardened fetcher, hybrid RRF search, preview-then-confirm cleanup), and Status & roadmap now separates Implemented from Planned explicitly. InboxIntel copy is careful to state it's Gmail-only today with multi-provider fully designed but not built.
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%