Stack walkthrough

What this site is
actually built on.

Verified from the repo, not from memory. Every layer is in production today.

01 · Architecture

Monorepo. Seven surfaces.
One deploy pipeline.

Astro 6 + MDX Cloudflare Pages (7 projects) npm workspaces @wojciech/tokens @wojciech/ui @wojciech/mdx-components

02 · Frontend

Tailwind 4, Geist,
Motion, Pagefind.

Tailwind CSS 4 CSS custom-property tokens Geist Sans + Mono Lenis + Motion Pagefind static search Satori + resvg-js (OG)

03 · Backend & infra

Serverless-only.
Terraform-managed.

CF Pages Functions CF Workers (cron) Terraform WAF rules in repo Node 24

04 · Content & i18n

Collections, MDX,
eight languages.

Astro content collections MDX + custom components 8 langs: en pl de dk no jp it es Locale-prefixed routing

05 · Analytics

Anonymous by default.
Consent-gated.

CF Web Analytics (anon) GA4 (lazy after consent) Mixpanel EU Sentry EU PostHog EU

06 · Testing

524 tests. Two browsers.
Daily production smoke.

Vitest (unit + coverage) Playwright (Chromium + WebKit) axe a11y automation Daily production smoke Lighthouse CI weekly

07 · CI/CD

No green CI, no deploy.
Parallel Wrangler.

GitHub Actions workflow_run gate Wrangler parallel deploy Commitlint required Release Please (manual)

08 · Security

HMAC-signed cookies.
CSP + HSTS preload.

gitleaks + npm audit Semgrep + CodeQL content-guard (pre-commit + CI + cron) CSP, HSTS, XFO DENY HMAC-SHA256 signed cookies Per-IP rate limit

09 · Resilience

Cold standby. Manual failover.
Tested, not theoretical.

Azure Static Web Apps (standby) Manual failover (workflow_dispatch) Git-revert rollback BetterStack uptime

10 · Working method

Four AI agents.
One handoff protocol.

Claude Code (implementation) Codex (review) GPT-5.5 Thinking (strategy) Claude Design (visual)

If a tool is on this page,
it pays rent.

Full details at wojciech.io/stack

1 / ?
← → navigate · F fullscreen · N notes

Speaker notes