Ship & run it on shared hosting
Everything on this track comes from running captainrandom.co.uk on ordinary shared hosting, on purpose. No Vercel, no serverless, no monthly platform bill that scales with success. A cPanel account, a static export, and a deploy pipeline that treats the host as a dumb file server — because that is what it is, and that is enough.
The three courses walk the full arc. The Next.js course takes a modern App Router site and ships it as flat files: the static-export contract, the LiteSpeed .htaccess rules the SPA rewrite gets wrong, the next/image and 404 traps, and a GitHub Actions FTP deploy that survives redeploys. The newsletter course adds the first dynamic surface — a GDPR-correct double-opt-in newsletter in plain PHP on the same host, with hashed IPs, real multipart MIME, SPF/DKIM/DMARC, and rate limiting that holds up against abuse. The telemetry course closes the loop: Search Console and GA4 wired into a Python CLI with OAuth refresh tokens in the system keychain, so the site reports on itself every day without a dashboard login.
None of this is nostalgia for old hosting. It is a deliberate trade: maximum ownership, minimum moving parts, costs that round to zero. Every pattern here runs in production on this site right now, and every chapter cites both the canonical documentation and the commit where the pattern earned its place. If you have ever wanted a site you fully control on hosting you barely think about, this is the track.
Ship a production Next.js site to cPanel shared hosting with no Node runtime — static export, the LiteSpeed .htaccess the SPA rewrite gets wrong, the next/image and 404 traps, and a GitHub Actions FTP deploy that survives redeploys.
Roll your own double-opt-in newsletter on cPanel/PHP instead of Mailchimp — hashed IPs, multipart MIME with a real text fallback, SPF/DKIM/DMARC, rate limiting, and UK GDPR + PECR done properly.
How to set up Google Search Console + GA4 API access, build a Python CLI around them, and wire daily indexation digests through Telegram — from OAuth refresh tokens to the production cron.
Run an entire shipping operation on GitHub as a solo developer: repos as the system of record, the gh CLI as the daily driver, PR discipline, Actions gates and deploy pipelines, hooks as policy, the API as a data source — and the billing model nobody reads until it blocks their deploys.