Day 09Week 3 · Systems week

Day 9 — Going live properly

Drag-and-drop publishing was training wheels. Today your capstone gets the grown-up setup: save points you can restore in seconds, publishing that happens by itself on every change — and the two rules about secrets that keep your projects out of trouble.

Today's goal

Give your capstone save points (git), a home on GitHub, and automatic publishing through Netlify — so from tonight, every improvement goes live the moment you approve it.

You need: your my-tool folder with v0 from yesterday · the internet article read · 90 minutes.

Block A Save points: break things without fear Git is a save-point system for projects — every checkpoint is a state you can return to. We create checkpoints, break the project on purpose, and restore it in seconds. After this block, no experiment is scary anymore.

You know save points from games: reach a safe spot, save, take the risky jump. Git is exactly that for project folders — and your agent operates it for you. The vocabulary you need is three words: checkpoint (save), history (the list of saves), restore (load one).

1

First checkpoint

PROMPT — copy & paste into Codex (in my-tool)
Set up save points for this project (initialize git) and create the first checkpoint named "v0 — first working version". From now on, after any change I approve, create a checkpoint with a short description automatically. Show me the history.

Step done when: the history shows checkpoint one, and the standing instruction is saved to AGENTS.md (ask it to add the rule there — you know why).

2

The destruction drill

Trust in save points is built exactly one way. Do the drill:

PROMPT — the drill, three messages
Ruin my project on purpose: delete half of the main file and make the page broken. (Yes, really.)

[open the page — admire the wreckage]

Restore the project to the last checkpoint. Show me it's identical to before the damage.

✦ You just watched total destruction cost you eleven seconds. This is why professionals experiment bravely: undo is a system, not a hope.

Step done when: the page works again and you felt the click of “nothing is irreversible now”.

Block B Auto-publish: GitHub → Netlify GitHub stores your checkpoints in the cloud; Netlify watches GitHub and republishes your site on every new checkpoint. Set up once, then publishing stops being a task at all. Plus: domains, and the secrets rules.
3

Put the project on GitHub

Create a free account at github.com (it's the world's storage for project histories — your future portfolio too). Then let Codex connect the wires:

PROMPT — copy & paste into Codex
Publish this project's checkpoints to my GitHub account as a new private repository named my-tool. Walk me through the sign-in when needed, and from now on, push every new checkpoint there automatically. Confirm when I can see it on github.com.
📷 screenshot — the repository page on github.com after the push (to be added)
If the sign-in loop keeps failing
  1. Follow the exact device-code URL Codex prints; approve in the browser where you're logged into GitHub.
  2. Still stuck: create the repository manually on github.com (New → my-tool → private) and tell Codex “the repo exists, connect to it”.

Step done when: you refresh github.com and see your files and history there.

4

Connect Netlify to GitHub

  1. On app.netlify.com: Add new site → Import an existing project → GitHub.
  2. Authorize Netlify to see your repositories, pick my-tool.
  3. Build settings: for our plain HTML projects, leave everything default and deploy.
📷 screenshot — Netlify “Import from GitHub” screen (to be added)

Step done when: Netlify shows a new site created from your repository, with its own URL.

5

Test the pipe — your last manual publish is behind you

  1. Ask Codex for any small visible change: “Make the page title violet.”
  2. Approve it. The checkpoint and the push to GitHub happen by themselves (your step-1 standing rule).
  3. Wait about a minute, then refresh your live URL: the title is violet. You didn't publish. It published.
If the deploy fails or the site shows “Page not found”
  1. In Netlify → Deploys, open the failed deploy log, copy the last red lines, paste them to Codex: “Netlify says this — fix the project structure so it deploys.”
  2. Usual suspect: index.html not at the repository root. Codex will restructure and push; Netlify retries by itself.

Step done when: an approved change appears on the live URL without you touching Netlify.

The improvement pass — from “works” to “good”

Your capstone works. “Works” and “good” are different floors of the same building, and professionals climb between them with improvement passes — focused prompts that hunt one kind of weakness at a time. Run your first two on your capstone now:

6

Pass one: the hostile-user hunt

PROMPT — copy & paste into Codex (in my-tool)
Test my tool like a hostile first-time user: empty inputs, huge numbers, wrong formats, double-clicks, phone width. List everything that breaks or confuses — most serious first, with WHERE it happens and HOW to reproduce it. Don't fix anything yet.

Read the list. Then fix findings one at a time: “Fix #1, tell me what you changed, wait for me.” Verify each in the browser before allowing the next. One-at-a-time is the whole discipline — batch fixes hide new breakage.

Step done when: the top two findings are fixed and verified on the live URL.

7

Pass two: pick the one your tool needs most

PROMPTS — pick ONE and paste it
ERROR HANDLING: find every place this tool can fail — missing file, empty input, wrong format, no internet. Make each failure caught and explained to the user in one plain sentence. Return the list of failure points and what each now says.

RESPONSIVE: audit every screen at 380px width — overflow, unreadable text, buttons too small for thumbs. Fix what you find and list each fix.

UX POLISH: walk through the main task as an impatient first-time user; narrate where you hesitate or guess. Propose one fix per confusion, smallest first; apply the ones I approve.

These come from our lab's Improvement Library — browse all of them, and Day 11 hands you more.

Step done when: one full pass ran and its fixes are live.

Domains & secrets — the five-minute version
  • Your own domain (yourtool.com, ~$10–15/year): buy at any registrar, and in Netlify → Domain settings → add it, following their two DNS instructions. Worth it for the capstone demo; not required.
  • Secrets rule 1: passwords, bot tokens, and keys never go inside project files — a public repo or deployed site exposes them to everyone. If a tool needs a secret, it's stored in the service's settings (like Netlify's environment variables), never in code.
  • Secrets rule 2: if a secret ever lands in a file — even briefly — consider it leaked: revoke and reissue (you did this drill with the bot token on Day 6). Tell your agent: “never write secrets into files” — and yes, that line belongs in AGENTS.md.
Homework 30–45 minutes — capstone slice 2, flagged big
Tonight — capstone slice 2

Your tool becomes real: second feature in, live on the internet, publishing itself.

Time estimate: 30–45m
  1. Open the article →
Done when:
  • Two of your spec's actions work on the live URL.
  • The URL is in Telegram.
  • You know (from the article) what a bot token is and where bot code runs.
Short on time? Skip the second feature — just get yesterday's v0 flowing through GitHub → Netlify and post the URL. The pipe matters more than the feature tonight.
Day complete?

Save points proven · GitHub connected · capstone live & self-publishing

Tick when the homework above is finished — it syncs to your account.

Self-checkAnswer first, then reveal

Three quick checks

The agent made five changes and the project broke somewhere along the way. Old you vs new you?

Old you: argue with the agent about what went wrong. New you: restore the last good checkpoint (seconds), then re-apply changes one at a time, verifying each. Save points turn debugging from archaeology into replay.

What exactly happens between “I approve this change” and “it's live on the URL”?

Checkpoint → pushed to GitHub → Netlify notices the new checkpoint → rebuilds and republishes. Three machines cooperating, zero of them being you. That's why it's called a pipeline — and yours now runs on every approval.

Your bot token accidentally ended up in a file that got pushed to GitHub. What's the full correct response?

Treat it as leaked no matter how fast you delete it: revoke the token (BotFather → /revoke), issue a new one, update the gateway, and add “never write secrets into files” to AGENTS.md so the agent enforces it. Deleting the file is not enough — history remembers.

What you can do now
  • Checkpoint and restore any project — destruction costs seconds.
  • Keep project history safe on GitHub.
  • Publish automatically on every approved change.
  • Handle domains and secrets like someone who's been burned before — without the burn.
Next week — Scale: software for OTHER people. Day 10: a Telegram bot that answers your customers' questions — using everything from this week: memory files, loops, and the publishing pipe.