3The stack

What we build with

Every site and app across my companies is built from the parts below, and we’re proficient in all of it. One part is crossed out on purpose.

The stack, by part
No.PartWhat we use
01SitesHand-written HTML, CSS and JavaScript
Our own Node.js site kit
Next.js for applications
02Hosting and edgeCloudflare Pages
Cloudflare Workers
OpenNext (Next.js on Workers)
Cloudflare DNS
Email Routing
Turnstile
03DataCloudflare D1
Cloudflare R2
Supabase (Postgres)
04Code and deploysGitHub
Wrangler
05SearchGoogle Search Console
Google Analytics 4
Bing Webmaster Tools
IndexNow
schema.org JSON-LD
llms.txt
06AdsGoogle Ads (and its API)
Meta Ads
ChatGPT ads
07Research and reportingGoogle Keyword Planner
SerpApi
DataForSEO
BrightLocal
08BusinessGoogle Workspace
Stripe
—WordPressRetired. Why

Retired part

WordPress

We used to be big on WordPress. We don’t recommend it anymore, and here’s the short answer why:

“We stopped recommending WordPress because it was slow, clunky, outdated and always being hacked, and the designs were terrible.”

Michael Blair

What replaced it: pages written by hand, assembled by our own site kit and deployed as plain files to Cloudflare Pages. There’s no plugin list to keep patched and no admin panel for anyone to guess their way into, and each site’s look is designed for that business alone.

Standard equipment

What every site ships with

  • Search-ready pagesEach page has its own title, description, canonical address, structured data and share image.
  • Its own traffic logA first-party, password-protected /traffic report recorded at Cloudflare’s edge; Google Analytics 4 is the second source.
  • Forms that can’t lose a leadA message is saved to a Cloudflare D1 database first and emailed second.
  • Submitted on every updateEach deploy tells IndexNow, Google Search Console and Bing Webmaster Tools what changed.
  • Watched around the clockA monitor checks every live site’s uptime every five minutes, and its pages, DNS, SSL and forms daily.
  • Built for answer enginesAn llms.txt file, FAQs written the way people ask, and crawlers for AI search allowed in.

Questions

Questions about the stack

Does Michael Blair still build WordPress sites?

No. We used to be big on WordPress, and we no longer recommend it. In Michael’s words, it was slow, clunky, outdated and always being hacked, and the designs were terrible. Our sites are hand-written and served from Cloudflare instead.

Where are the sites Michael Blair builds hosted?

On Cloudflare. The pages deploy to Cloudflare Pages, the lead forms save to a Cloudflare D1 database before anyone is emailed, and the two Next.js applications run on Cloudflare Workers. Supabase is used only where a project needs Postgres.

What is the difference between Cloudflare Pages and Workers?

We use both. Pages serves a site’s files from Cloudflare’s network and runs small functions beside them, like our lead form. Workers run code on their own: our two Next.js applications, the private mail worker that sends form alerts, and the monitor that watches every site.

How do you measure traffic on the sites you build?

Every site ships with its own first-party traffic log at /traffic, recorded at Cloudflare’s edge and password-protected — that’s the number we quote. Google Analytics 4 runs as the second source, and Search Console and Bing Webmaster Tools cover search.

Next step

Have a project in mind?

Write to me here, or call the Nashville’s Web Design line — it rings my phone.

Call Get in touch