For bands · from a fan

From nothing to a store, in about twenty minutes.

Every click, in order. You need an email address for the band and a Stripe account. Nothing here costs anything, and after the first two minutes it all happens in the store’s own admin, on your phone.

Not sure you want to? The case for and against, including not bothering.

See what you’ll getAnd how you’ll run it

Now: a store that takes orders. About twenty minutes.

  1. Three free accounts, in the band’s name.

    Stripe takes the money (activating it, with the band’s details and a bank account, can wait: test orders work before that). GitHub holds the store; you’ll rarely open it. Cloudflare runs it, free. Use an address the whole band can get into, not one person’s.

  2. Press Deploy.

    Sign in to GitHub and Cloudflare when asked. Give the project a name nobody has used, like yourband-store. It asks for one thing: a password for your admin. Make up something long and write it down. Press Deploy. Two or three minutes.

    If it says “could not create the Git repository”, that name is taken in your account. Change it and press Deploy again.

  3. Open your store and tap Run this store.

    Cloudflare gives you an address ending .workers.dev. The store is there, with a made-up band’s products in it and a line at the top saying it isn’t open yet. Tap Run this store, type the password. You land on Setup: what has to be right, with the fix in each row.

  4. Paste your Stripe key.

    The Stripe row links straight to your keys page. Click Reveal next to Secret key, copy it (it starts with sk_test_), paste it in the row. The store checks it with Stripe on the spot, keeps it locked under your password, and connects itself so orders arrive and stock counts itself.

    The one thing people get wrong. The Publishable key, starting pk_, sits just above the right one. Paste it and the store says so, in words, and nothing is saved.

    In the same list, type the contact email and press Remove the sample products.

  5. Add a shirt.

    Add a product: a name, a price, the sizes, a photo from your camera roll. It’s on sale when you press the button. Leaving Shopify? Products → Export → All products → Plain CSV in your Shopify admin, then Import from Shopify in yours; names, prices, sizes, stock, pictures and the old addresses all come across. Store holds the band’s name and the colours, picked out of your artwork.

Buy something with card 4242 4242 4242 4242, any future date, any three digits. You land on a thank-you page and the order appears under Orders. You have a store.

Later, when you’re ready

  1. Real money.

    In Stripe, finish activating the account if you haven’t (Setup links to it), then copy the live secret key (Setup links to that page too) and paste it into the same row. The store checks it and reconnects itself. Setup also says if Apple Pay, Google Pay or Link are off and links to the switch. Buy the cheapest thing with a real card and refund yourself in Stripe.

  2. Your own address.

    The free address is fine to sell from for as long as you like. When you own a domain (about $12 a year at Cloudflare, Porkbun or Namecheap, in the band’s name), Setup links to your store’s settings page in Cloudflare: Domains & Routes → Add → Custom domain, type shop.yourband.com. Nothing in the store changes.

  3. Tell people where it is.

    Your homepage, Bandcamp, every social bio. If you’re leaving Shopify, point the old store at the new one for ninety days before you cancel the plan, and cancel only after the last order ships. Tell this site too, and your fans’ alerts follow you.

Day to day

Open the admin on your phone. Tap a product to change its price, mark a size sold out or add a photo. When you post an order, put the tracking number in; it is the thing that wins if a buyer ever tells their bank it never came. You stay signed in on that phone for a month. That’s the whole job.

If you get stuck

Checkout won’t open
Open Setup in the admin. It says what’s wrong instead of making you guess, and the fix is in the same row.
Deploy failed
Almost always the project name is taken. Change it and deploy again.
Forgot the password
Cloudflare → your store → Settings → Variables and Secrets → edit ADMIN_KEY and set a new one. It works at once and signs every other device out. Then paste your Stripe key again in Setup: it was locked under the old password, and Setup will say so.
A friend doesn’t see the change yet
You see your own changes at once; everyone else within a minute. That’s how the hosting works, not a fault.
Something else
Everything is open source, so any coding agent can read the whole store and fix it with you. The README covers the day-to-day, and the prompts are written.

Written by a fan.Nothing here is sold and no link is tracked.Checked 9 Oct 2026.