This is a print-safe one-pager. Ctrl+P → Layout Portrait → Margins Default. The site chrome above is hidden in print. Pair it with the Week 6 facilitator pack — the pack runs the room, this sheet rescues a stuck student.

Read the columns left-to-right when stuck: open the file(s) to project on your second monitor, re-paste the prompt block, then if you only have a minute, walk the 5-min demo path aloud.

6 Course 6 · Answer Key

Deck ↔ heywood-inventory/

M1–M10. Each row is a 60-second recovery: open the file, re-paste the prompt, walk the 5-min demo.

Repoheywood-inventory/
Promptsdocs/PROMPTS.md
Guidedocs/INSTRUCTOR_GUIDE.md
Module File(s) to open in heywood-inventory/ Prompt block in docs/PROMPTS.md If you only have 5 minutes
M1Full-Stack Frontierframing No code. Project deck slide 0.6. (no prompt — talk track only) Open the running app and walk Dashboard → Chat (“morning brief”) → Settings → role picker. Two minutes, wide-angle, no editor.
M2Environment Setupsetup Nothing in repo to demo — this is install-and-verify only. “Module 2 · Environment Setup”Install + verify + Scaffold the project skeleton. Run go version, node -v, docker --version on your laptop. Then mkdir my-staff-app && cd my-staff-app && go mod init my-staff-app. Show the empty skeleton.
M3Backend from Scratcharch 1/4 cmd/server/main.go
internal/api/router.go
“Module 3 · Backend from Scratch”Prompt 1 health endpoint, Prompt 2 extract router + helpers, Prompt 3 hardcoded items. go run ./cmd/server -dev, then curl localhost:8080/api/v1/health. Twenty-second silence. curl localhost:8080/api/v1/items returns five items.
M4Data Layerarch 2/4 internal/data/store.go (interface)
internal/data/json_store.go
data/items.json
internal/api/handlers.go (items)
“Module 4 · Data Layer”Prompt 1 Store interface + JSONStore, Prompt 2 seed data, Prompt 3 rewire /items + add /items/{id}. Open store.go and read the interface aloud. Then curl localhost:8080/api/v1/items/1. The interface is the lever — everything M9 depends on this.
M5Frontend from Scratcharch 3/4 web/vite.config.ts
web/tailwind.config.ts
web/src/api/client.ts
web/src/pages/Items.tsx
“Module 5 · Frontend from Scratch” — single combined prompt: Tailwind + proxy + items table. Two terminals. npm run dev in web/. Load localhost:5173 — the items table renders. If CORS errors hit, project vite.config.ts proxy block, do not patch the backend.
M6Pages & Navigationbuild web/src/App.tsx
web/src/layouts/Layout.tsx
web/src/pages/Dashboard.tsx
web/src/pages/ItemDetail.tsx
“Module 6 · Pages & Navigation”Prompt 1 routing + sidebar layout, Prompt 2 item detail, Prompt 3 dashboard + /stats. From the running app: click an item title → detail page loads via /items/:id. Click Dashboard → four stat cards + recent activity. Same data, three views.
M7AI Chat Integrationapex internal/ai/chat.go
web/src/pages/ChatPage.tsx
internal/api/handlers.go (chat wire-up)
“Module 7 · AI Chat Integration”Prompt 1 chat service, Prompt 2 lookup_items tool, Prompt 3 chat page + markdown. Open /chat. Ask “what are my high-priority items?” Watch the server log a tool call before the answer comes back. Applaud once.
M8Auth & Middlewarebuild internal/middleware/middleware.go
internal/api/handlers.go (auth)
web/src/components/RolePicker.tsx
“Module 8 · Auth & Middleware”Prompt 1 middleware package, Prompt 2 auth endpoints + role picker, Prompt 3 RBAC across handlers. Open the role picker in the header. Switch User → fewer items, no Settings link. Switch Admin → everything. DevTools → Application → Cookies → show heywood_role.
M9External Integrationscompress Path A: internal/data/sqlite_store.go (build tag sqlite) + sqlite_stub.go.
Path B: internal/integrations/graph.go.
“Module 9 · External Integrations”Path A · SQLite (default) or Path B · Microsoft Graph. Path A: go get modernc.org/sqlite && go build -tags sqlite ./cmd/server && ./server -db sqlite -dev. POST a new item, restart, GET to confirm persistence. Same Store interface — that’s the receipt for M4.
M10Docker & Deployarch 4/4 Dockerfile
internal/api/router.go (SPA fallback, second half)
.dockerignore
“Module 10 · Docker & Deployment” — single combined prompt: SPA fallback + multi-stage Dockerfile. Optional Azure block at end. docker build -t my-staff-app . then docker run -p 8080:8080 -e OPENAI_API_KEY=$OPENAI_API_KEY my-staff-app. Stop local dev servers. Reload localhost:8080 — whole app from one container.

How to use this sheet during the live build

  1. 3-Minute Rule fires twice on a student. Glance at this sheet. Read the row.
  2. Open the file(s) on your second monitor — never the projector. Describe the diff aloud as a hint.
  3. Re-paste the prompt block from docs/PROMPTS.md into the student’s chat. Watch one more turn.
  4. If still stuck and the room is waiting, walk the 5-minute demo path on the running reference app, then pair the student with a buddy and move on.

Anchor. The reference exists to recover, not to lead. Never start a module by reading from heywood-inventory/. The whole point of the day is the prompt → AI → debug loop.