Course contents

Tutor notes. For the person running the sessions.

Session 7: tutor notes

Objective: backend up, web page live, and, the session's non-negotiable, the two-clients-one-table demo: an item added on their phone appearing in a browser. That half-second is the capstone's whole argument. Protect it the way Session 6 protected the first device build.

Before the session

Timings (2h)

Time Segment
0:00 Week debrief, iOS roadmap done? (triage below if not)
0:15 /freeze, Supabase sign-up, table from the spec, keys into .env
0:45 Web page: build from roadmap → /qa → deploy chain → live URL
1:20 The wiring: iOS ↔ Supabase, then the two-clients demo
1:50 /setup-gbrain, /context-save, the rhythm for the gap agreed

If the iOS build stretch fell short

Same triage as in the last session, sharpened by dependency: the wiring stage needs a working local app. Unfinished stage 3 → finish it in this session before Part 1 if it's small, or formally descope it at the exceptions log if not, the demo can wire a two-screen app just as well. What can't happen: skipping the demo to catch up on iOS polish. Sequencing beats completeness in this session.

Supabase: the two rules, and why

The dashboard is a rabbit hole, they'll want to click around table editors and auth screens. Ten minutes of wonder is fine; the table gets made by Claude from the spec, not by hand in the GUI, because the repo is the record.

The wiring beat

This is the arc's dopamine peak and the riskiest 30 minutes: CORS, keys in the wrong place, the app caching stale data. If the swamp appears, fall back in this order: (1) web page ↔ database only, demo in two browser windows; (2) wiring moved to a supervised between sessions call. The session may not end without some version of shared data moving between two clients, even the two-window version lands the architecture lesson.

PM-to-PM: integration stretch

This session is the integration phase, and the sequencing decision from Session 5 is doing its work: database first (nothing depended on it), web second (one dependency, easily tested), wiring last (two verified ends). Name it once: "this order is why in this session went smoothly", or, if it didn't, "imagine in this session without the order." Either way the lesson lands. The security preview ("the database takes input from anyone now") gets one sentence in this session and its full hour at the next session's /cso gate.

/setup-gbrain framing

Three stacks is exactly when CLAUDE.md stops being enough, the index principle, industrialised. Run it last, when the repo actually contains all three platforms, so the payoff is visible: ask the agent something cross-stack ("where does the expiry colour logic live?") and watch it answer without re-reading the world.

Sticking points