By next week: a public URL you built, and you can take a change from idea to live without looking anything up.
Nothing here explains how. Finding out is the assignment. Use AI, videos, docs, each other — there’s no cheating on the how. You’re judged on whether it works, whether you can explain it, and how you got yourself unstuck.
Hand in
| 1 | Your GitHub profile |
| 2 | A pull request you opened and merged |
| 3 | Your live URL |
| 4 | Your project plan |
| 5 | What broke, and how you got unstuck |
What you need
1 — A GitHub account
done when Student Pack application submitted, and your profile has your real name and a photo.
2 — The Git loop
done when You can go branch → commit → push → PR → merge → pull on a real repo, without notes.
3 — A Codespace
done when You’ve launched one, used its terminal, and stopped it when you were finished.
4 — A live URL
done when A stranger can open it on their phone and see something you made.
5 — A plan
Nothing here saves. Copy it somewhere real.
done when All four answered, and the last one is actually testable.
Limits
- GitHub Pages needs a public repo on the free plan. Other hosts don’t — worth knowing before you assume you’re stuck.
- Codespaces bills core-hours, not clock hours — a 2-core machine burns 2 per real hour.
- Your profile needs to look like a real person for the Student Pack. Nothing beyond that belongs in a repo — not your address, not your schedule, not your phone number.
Secrets
Everything you commit is permanent, and on a public repo it’s instantly public. Bots scrape
new commits within seconds of a push. API keys, tokens, passwords, .env files: never.
Know what a .gitignore is and have one working before your first push. And find out what
you’re supposed to do if you commit a key by accident — the answer is not “delete it in the
next commit,” and understanding why not is the whole lesson.
When you’re stuck
That’s not the assignment going wrong. That’s the assignment.
Before you ask a person: search the exact error text, read the real documentation, ask an AI to explain it three different ways until one lands, find a video. Note where the answer came from — hand-in 5 is that note.
I need to learn X. Don’t explain it yet.
Find me the three best resources — the official docs page, one video, one worked example. Tell me what order to use them in and what I should be able to do after each. Then quiz me on it and tell me what I still don’t have.
If you finish early
Only if you already have a paid Claude or ChatGPT plan — both agents need one, and neither free tier includes them.
Get an agent running inside your Codespace, not on your laptop. Things to look up, in order:
- The official install command for Claude Code, or for the Codex CLI
- How to authenticate it from inside a container. This is the awkward part. The first link you’re offered won’t work, and working out why is the exercise
- How to get it to read your whole project before you ask it for anything
- How to stop your login vanishing every time you create a new Codespace
done when It has explained your own repo back to you in plain English, and you’ve had it change something that you then reviewed line by line.
Hand in one more thing: something the agent got wrong or did badly, and what you did about it. That’s the part that’s actually hard.
Quiz yourself
Git vs GitHub? reveal
Git is the program taking snapshots on your computer. GitHub hosts copies so others can collaborate. You can use Git with no GitHub at all.
Commit vs push? reveal
A commit saves locally. A push uploads to GitHub. You can commit ten times and push once.
Why branch instead of editing main? reveal
main should always work. A branch lets you break things without risking the live version —
if it fails, delete it and nothing was ever at risk.
What's a pull request for, if you could just merge? reveal
Review, and the record of why a change happened, kept with the code.
Why isn't pushing the same as deploying? reveal
Pushing stores your code. Deploying serves it at a public URL.
Run the loop until all seven light up. Hollow dot means the commit is only on your machine.
Your commit messages count:
Show me real ones
| stuff | Tells future-you nothing at all. |
| final FINAL v2 | You have version control. That is what it is for. |
| fixed bug | Which bug? Fixed how? There are a thousand bugs. |
| Fix nav overlapping content on mobile | What changed, in the imperative. Perfect. |
| Add alt text to all project images | Specific, scoped, obvious in a list of 200. |
| Compress hero image from 4MB to 180KB | Even better — the numbers say why it mattered. |
Where does a secret API key go?
Your portfolio site pulls in live weather. The API needs a secret key. Where does the key go?
Quiz me on: Git vs GitHub, the commit/push/pull/branch/merge/PR workflow, worktrees, deploying, Codespaces core-hours, installing an AI coding agent, and the three layers of the web stack.
One at a time, wait for my answer. Mix definitions, “what happens if…”, and “here’s an error, what did I do wrong.” Don’t accept vague answers. Score me after 12 and tell me what to review.