A free, open-source guide

You built something.
Now ship it.

It works. You're proud of it. And it has been sitting on your laptop for three weeks, because the gap between “it works” and “other people can use it” is full of words nobody explained.

localhost:3000 https://yourthing.com

Haven't built anything yet? Start at Stage 0 — get an AI coding agent, then work out what to build.

What you'll have at the end

  • A real domain you own, like yourthing.com
  • Your project live on it, over HTTPS
  • The code on GitHub, public, with a licence and a README
  • Automatic deploys — change a file, push, the live site updates
  • A bill of roughly £10–20 a year, almost all of it the domain

You don't need to be a developer. You need a laptop, a card for the domain, and about an hour.

The idea worth ten minutes

Four layers, four separate companies

Almost every “I'm stuck” moment is not knowing which of these is broken. They're independent — so no choice you make today is a trap.

The four layers a visitor passes through A request travels from the registrar, to DNS, to hosting, to the certificate. Each layer is owned by a company you choose independently. 1 · REGISTRAR Who you bought the name from. Sets who answers for it. 2 · DNS Answers “where is yourthing.com?” with an address. 3 · HOSTING Where your code lives, and what sends back the page. 4 · CERTIFICATE Proves it's really you, so the browser shows a padlock.

Buying your domain at one company does not tie your hosting to it. Don't like your host? Change layer 3, keep the name.

Two tracks. Pick one, follow it end to end.

No single right answer, so you get two complete ones. You never have to mix them.

Track A — CloudflareTrack B — AWS
Best whenIt's your first deployYou already use AWS, or need it for work
Time~20 min static, ~45 with a backend~90 min
Standing costThe domainDomain + ~$0.50/mo for the DNS zone
Bill shockLow — free tiers stop rather than billReal — set a budget alarm before you start
Teaches youThe modern defaultThe stack most companies actually run

This site is hosted by following Track B, start to finish, on a domain registered the same morning. Four bugs in the guide were found and fixed that way — including one where GitHub sends an OIDC subject claim that no published example matches.

The short version

Start in three steps

You create the accounts. You authorise the tools. Then you hand the work to Claude Code and answer its questions. About 30 minutes, most of it waiting for DNS.

Set up your machine

A terminal and a handful of tools. On Windows this means installing WSL first — the guide walks through it, because everything here is written in bash and PowerShell is not the same thing.

# macOS
brew install git gh jq awscli

# Windows: open PowerShell as Administrator, then reboot
wsl --install

Full setup, per platform →

Create the accounts

GitHub for everyone. Then Cloudflare or AWS depending on your track — and Anthropic only if your project calls Claude. Turn on two-factor while you're there, and on AWS set the budget alarm before you build anything.

Which accounts, and what they cost →

Hand it to Claude

Authorise each tool once — you never paste a key into the chat, because the tools already hold it:

gh auth login                      # GitHub
aws configure                      # Track B (AWS)
npx --yes wrangler@latest login    # Track A (Cloudflare)

Then, in your project folder, start Claude Code and say:

I've built something in this folder and I want it online at a domain I own. Read shipwhatyoubuilt.com/guide and follow it. Use Track B (AWS). Tell me what shape my project is first, and stop before anything that spends money.

The full handover, and where it stops to ask you →

Prefer to type it yourself? Both tracks list every command with an explanation of what it does — Cloudflare or AWS. New to any of the words on this page? Every term is explained here.

The other half

A skill, so you stop memorising commands

Install it once, and Claude Code knows how your deploy works.

git clone https://github.com/jhammant/ship-what-you-built.git
mkdir -p ~/.claude/skills
cp -r ship-what-you-built/skill ~/.claude/skills/first-site

Then you just say what you want:

Deploy it What's live right now? It's still showing the old version Open source this and set up automatic deploys

Thirty-five seconds

What this actually looks like

Made with Remotion — written as code, so it can be regenerated whenever the thing changes. The guide shows you how.

The point of all this

Then add yours to the showcase

When your thing is live, put it on the list. One row, two minutes, done entirely in the browser — no terminal.

For a lot of people it's the first pull request they've ever made, which means their first open-source contribution is to a project about making your first open-source contribution. That's a pleasing shape, and it's deliberate.