Pick one small thing. Follow these. In 20 minutes you have something deployed at your-thing.pages.dev. Then you've done it, and the rest is repetition.
The goal isn't to ship playground today. The goal is to walk through the whole pipeline once with something small and safe — so the next 50 deploys feel like nothing. Pick a single static HTML you already have: card-tracker.html, nootropic-tracker.html, or one of your proto-* files. We'll use card-tracker as the running example.
git --version)lovebuilt (verified earlier)lovebuiltautomations.com)card-tracker.html from playgroundOpen Terminal. Make a new folder for just this one thing, copy your HTML in, and turn it into a repo:
That's it for step 1. You now have a real git repo locally. Hidden .git/ folder is there. git log shows your one commit.
gh does this in one command. It creates the repo on GitHub, wires it as the origin remote, and pushes your local commits up.
--private = invisible to everyone but you (good default). Use --public only when you're ready for the world to see it.--source=. = "the current directory is the repo." --push = "push my commits up immediately."
Verify it worked: gh repo view --web opens the new repo in your browser. You'll see index.html sitting there on GitHub.
This is the one part that lives in a web UI, not a terminal. Once it's set up, you'll never touch the dashboard for this project again.
lovebuiltautomations.com DNS.None. Build command = empty. Build output directory = / (just a slash — means "the repo root").For a single-HTML-file site, there's no build step. The repo root IS the deployed folder. For more complex projects (React, etc.), this would be dist/ or build/ — wherever your build process emits its output files.
Once the build finishes, Cloudflare shows you a green ✓ and a URL. The pattern is:
Click it. Your index.html is now live, served from 330+ Cloudflare data centers worldwide. Free. Behind HTTPS. With DDoS protection. You did nothing extra for any of that.
In the Pages project settings → Custom domains → add a subdomain of lovebuiltautomations.com (e.g., cards.lovebuiltautomations.com). Cloudflare auto-creates the DNS record because they own your DNS too. ~30 seconds. Free.
This is the loop you'll live in for the rest of forever. Make sure it works.
Edit on Mac → git push → GitHub webhook fires → CF Pages rebuilds → new version live globally in 30 seconds. Forever.
Once you've done the above with one small thing, doing it for playground itself is the same flow with two adjustments:
1. Playground has a Node server (server.js), so it can't be Pages-only. Deploy target = Coolify, not Pages. Same git workflow on your end; just a different webhook destination.
2. Playground is a monorepo with ~40 files — the .gitignore needs to include node_modules/ and any large data files (conversation-data.json, dashboard-data.json at 3MB each are git-trackable but a bit much for the first deploy).
mkdir + git init + git commitgh repo create --source=. --pushyour-thing.pages.dev, free, global, HTTPS, DDoS-protectedgit push → live in 30 seconds