Architecture
npm-workspaces monorepo. Astro on Cloudflare Pages: seven surfaces, seven Pages projects. Shared token, UI, and MDX packages.
Verified from the repo, not from memory. Every layer below is in production today across wojciech.io and its subdomains. If a tool is on this page, it pays rent.
01 · Source
Monorepo, branch-protected main
02 · CI gate
Vitest · Playwright · Semgrep · CodeQL
03 · Build
Static + Pages Functions
04 · Deploy
Wrangler → 7 surfaces, only on green CI
05 · Edge
CDN · WAF · rate limiting
Deploy only fires on green CI (workflow_run gate). No green, no ship.
npm-workspaces monorepo. Astro on Cloudflare Pages: seven surfaces, seven Pages projects. Shared token, UI, and MDX packages.
Tailwind CSS 4 driven by CSS custom-property tokens. Geist for type. Lenis + Motion for motion. Pagefind for static search.
Cloudflare Pages Functions for gated surfaces. Workers for the growthhub cron. Terraform manages Pages projects and domains. Node 24 in CI.
Astro content collections for insights, work, and testimonials. Eight languages across CV and SEO surfaces, seven fully translated locale homepages on top of EN.
Cloudflare Web Analytics runs anonymously by default. Everything else loads only after explicit consent, all EU-resident.
Vitest for units and coverage. Playwright across Chromium + WebKit for smoke, SEO, a11y, and broken-link checks. Daily smoke against production.
CI on every push and PR. Deploy runs only on CI success via workflow_run, shipping site and subdomains in parallel through Wrangler. Commitlint enforced.
Branch protection with required checks. Strict CSP, HSTS preload, XFO DENY. Auth gates use HMAC-SHA256 signed cookies with timing-safe compares and per-IP rate limiting.
Azure Static Web Apps holds a weekly cold standby. Failover is operator-triggered, auto-detects health, then flips DNS via the Cloudflare API. Rollback is a non-destructive git revert.
Claude Code implements. Codex reviews. Strategy and go/no-go stay human. Merge once docs and code agree.
If something on the page is interesting in context of what you are building, write me and we will look at it together.