The Challenge
Wake the Nile — a touring music artist on Freeda Records — ran on WordPress hosted on a $15–$20/month virtual machine at Google Cloud. Google PageSpeed graded the live site a C. It worked, but it was slow, and every month it billed regardless of traffic. The next ask made the ceiling obvious: the artist wanted to sell merch. The plan on the table was Shopify — another recurring subscription, another checkout to brand around, and a second dashboard to live in alongside the site's own admin. Underneath all of it sat a legacy LAMP-and-plugin stack that was a dead end for modern, AI-assisted iteration: configuration buried in a database and a wp-admin UI, nothing an AI agent could reason about or safely change in a repo.
The Solution
A pixel-perfect 1:1 rebuild on Astro 5 (static output) + Sanity (headless CMS) + Cloudflare Pages, served from the edge on the free tier — recreating the live site down to the gold-on-black brand. Everything from the old site was ported over, not approximated: the video slider came across as a Swiper coverflow that is faster and smoother than the WordPress original, and the contact page kept its HubSpot form integration. Server logic — checkout and order webhooks — runs as edge-native Cloudflare Pages Functions calling the Stripe and Sanity HTTP APIs directly, with no Node runtime to provision or scale. The whole rebuild was delivered in 2–3 days using Claude Code (Opus 4.8) on the Max plan, and the entire site lives in a single GitHub repository.
From a C to straight A’s — even on the heaviest page
The WordPress site scored a C. The rebuilt site scores 100s and all-green A’s across the board — including /videos, the heaviest page on the site, where multiple MP4s power the slider. Static HTML served from Cloudflare's edge, images and video delivered as optimized static assets, and zero server round-trip on page load turned performance from a liability into a feature. The site is now measurably faster than the one it replaced, for a fraction of the cost.
Custom commerce — no Shopify
Rather than rent Shopify, the storefront was hand-rolled on Stripe + Sanity in about a day. Sanity is the single source of truth for the catalog and inventory; prices are sent to Stripe dynamically at checkout so the CMS stays authoritative. Shoppers get a custom cart (a localStorage island with a slide-out drawer) and an Embedded Stripe Checkout that stays on-brand and on-site, plus a thank-you page that reads a Stripe session token to render real success or error status rather than a blind redirect. On payment, a Stripe webhook — also a Cloudflare Pages Function — writes the order into Sanity as an order document and decrements product stock automatically. Stripe carries the parts nobody wants to reinvent: fraud protection, sales tax, and billing/accounting — the whole nine yards — with zero platform subscription on top.
Built to iterate — and AI-agent-ready
Because the whole site lives in a GitHub repo and every third-party service in the stack (Sanity, Cloudflare, Stripe) ships an MCP server, an AI agent can drive publishing, schema changes, and deploys directly — the same way this rebuild was built. A siteSettings collection manages global config like social-button URLs and the nav menu; a toggle marks a product sold out; page templates bind to Sanity custom fields, so new capabilities are a code or content change rather than a migration.
Content and order fulfillment now live under one roof. There is no swapping between a Shopify admin and a separate website dashboard — the artist manages merchandise, fulfills orders, and edits the site from the same place.
"One repo, one dashboard, zero recurring platform fees — a faster site than the one it replaced, with a full storefront the client owns outright."
Where this leaves things
The math is simple: roughly $180–$240/year of WordPress VM hosting and ~$468/year of avoided Shopify Basic fees collapse to $0 on Cloudflare's free tier, which is more than sufficient for this client's traffic. The result is zero recurring platform fees, a site that outperforms its predecessor, and a stack purpose-built for AI-assisted iteration. The storefront is fully fleshed out — branded checkout, secure payments, automated inventory and order capture — already built, secured, and deployed. The only work left is the tedious part: entering the product catalog on top of a foundation that is done.