lecture-demos

The live demo repo for the COMP4020/COMP8020 Agentic Coding Studio lectures (Semester 2, 2026, ANU). It begins as a fresh instance of the course's static prototype template, then is worked in week by week through the semester.

  • the demo is committed beat by beat during the lecture and pushed afterwards, so the history lands as it happened rather than tidied up
  • the end of each week is tagged (week-01 through week-12)
  • the history is never cleaned up: it is the honest record of what the agent and convenor actually did

Two layers, two clocks

The artefact — the app itself, and whatever tests came with it — is replaced most weeks, and from Week 3 on it is usually vendored rather than written here: a hall-of-fame prototype from the previous crit, copied in whole from its public repo, so a lecture starts from something that already works instead of from a blank page. The harness — CLAUDE.md, the invariants in spec/, the CI workflow and the build tooling — accumulates all semester.

From Week 7 the tree is the course's full-stack starter, template-dynamic at 5e2c1b1, plus this repo's own harness on top: the same guestbook a new C7 repo got. From Week 8 each lecture shows its web concept in a different mainstream framework, and from Week 9 the tree is that week's, written for the lecture rather than vendored. Week 9's was a message board in Phoenix LiveView; from Week 10 it is a set of shared rooms of cards in SvelteKit, deployed at https://lecture-demos.fly.dev/: sign-in with better-auth, SQLite through Drizzle, and server-sent events so everyone in a room sees each change. The front page, dressed as a classifieds site, carries a live feed of every card created, edited or deleted in any room. Every request, and every thing a person does, writes one line to the log that fly logs shows. The static half's artefacts went out with the weeks they were built for.

Follow along

Clone the repository in Week 1. Before each later lecture, reset your copy to the projector's starting state:

git fetch && git reset --hard origin/main
mise install
pnpm install
pnpm dev

mise install fetches the week's toolchain (Node and pnpm, from Week 10), and pnpm install its dependencies. pnpm dev serves the app at http://localhost:4321 and keeps its database in .data/ on your machine, so your copy starts empty and never touches the deployed one.

Check-ins

At points during the lecture the slides stop and you take the demo over: what the agent has done gets revealed on the projector, and one "yes, and" from you — the premise set at the launch, pushed further — is typed in and run. There is nothing to prepare and no blank to fill in — half a minute with the person next to you, then call it out.

The run is pushed after the lecture rather than during it, so pulling mid-session won't track the projector — watch the screen instead. Afterwards, a pull gets you the whole run commit by commit, and you can hand your own agent the same instruction from the same starting point and watch it do something different with it.

Keep anything you want to retain on your own branch or worktree before the next lecture's reset.

pnpm check covers the compile, the build and the tests, whatever the stack: the artefact's own tests (test/), then the invariants in spec/, both against the built app. The stack underneath is whatever the current artefact brought with it.