A containerized, HTTPS-only monorepo. A reverse proxy terminates TLS and routes to the Next.js storefront and the Express REST API; a background worker drains the email outbox; Postgres and Redis are the stateful backing services; Stripe and Resend are external integrations. Payment and subscription state mutate only via verified webhooks (webhook-as-source-of-truth).
15 rules in invariants.json (12 machine-checked + 3 manual), enforced by the build lint and the ship-time drift gate.