May 2 2026

How do I audit a site’s design before rebuilding it?

By |2026-05-02T10:27:39-04:00May 2nd, 2026|Comments Off on How do I audit a site’s design before rebuilding it?

What this is A methodology for cleanly extracting an existing site's design tokens before rebuilding it from scratch. Use when you're converting a page builder site to hand-coded, replatforming a CMS, or building a new template that has to match an existing aesthetic. The order matters Fonts → colors → images → layout. Always. Fonts first because they're the highest-risk to get wrong and the hardest to fix later. The wrong font weight or letter-spacing makes everything else look off, even when colors and layout [...]

May 2 2026

How do I convert my WordPress site to a static site with AI?

By |2026-05-02T10:27:38-04:00May 2nd, 2026|Comments Off on How do I convert my WordPress site to a static site with AI?

What this is A nine-phase workflow for converting any WordPress site — Avada, Elementor, Divi, custom theme — into hand-coded static HTML/CSS/JS, deployed on Vercel or Nginx. Designed to be pasted into an AI coding agent (Claude, Cursor, etc.) as session context. The agent then executes the phases against your source site. Prerequisites WordPress site accessible — either live or via a .wpress export Local by Flywheel installed GitHub CLI (gh) authenticated Vercel CLI (vercel) authenticated, or SSH access to a static-hosting droplet An AI [...]

May 2 2026

How do I add a working contact form to a hand-coded static site?

By |2026-05-02T10:27:39-04:00May 2nd, 2026|Comments Off on How do I add a working contact form to a hand-coded static site?

What this is A drop-in form pipeline for hand-coded static sites deployed on Vercel. Replaces Gravity Forms, Contact Form 7, Formspree, etc. Costs nothing on Vercel's hobby tier and Resend's free email tier (3,000/month). Defends against the bots that find unprotected form endpoints within hours. Files you'll add {site-name}/ package.json # private project, Node 20, "resend" dep vercel.json # CORS lockdown api/ send.js # serverless handler js/ forms.js # client-side script index.html # your form lives here 1. package.json { "private": true, "engines": { "node": [...]