GraV-IT
← All work

2026 · Designer & engineer

This site (grav-it.net)

A static-first replacement for an over-engineered WordPress + WooCommerce setup, with custom invoicing, embedded Stripe Checkout, and Cloudflare Turnstile gating the form actions.

Stack
Astro 5 Tailwind v4 Cloudflare Pages Cloudflare Pages Functions Stripe (Embedded Checkout) Cloudflare Turnstile

Why I rebuilt it

Grav-IT had been running on WordPress + WooCommerce since 2019, but the only thing WooCommerce was doing was generating invoice URLs to email clients. Everything else WordPress brought along — auto-updates, theme drift, plugin sprawl, hosting fees — was rent paid for software I wasn’t using.

What I shipped

  • A static Astro site that builds to a directory and deploys to Cloudflare Pages.
  • Per-customer invoice pages addressed by unguessable slug, with an optional per-invoice email-gate for ones that warrant an extra layer.
  • Cloudflare Turnstile gating every form action — contact, donation, and the invoice “Pay” button — invisible most of the time, no proof-of-work CPU cost.
  • Embedded Stripe Checkout right on the invoice page — no redirect to a hosted payment page, no leaving the site.
  • A donation page with a $5 floor and per-IP rate limiting on the checkout endpoint to make it a poor card-testing target.

What it costs to run

$0/month. Cloudflare Pages free tier covers the static hosting and the 100k/day Functions quota I’ll never hit. Stripe takes its cut on actual payments, same as before.