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
- Read their stretch: commits,
LOG.md, the iOS roadmap's checkboxes. Open with "I saw you hit X on Tuesday", not "so, how was it?". - Supabase prep: know the sign-up-with-GitHub path cold, and check nothing about their onboarding changed this month. You've run this exact stack, resist showing off; they need one table, not your schema patterns.
- Netlify (or the /setup-deploy target) authorisation still valid from Session 1, the web deploy must not die in an auth maze.
- Rehearse the wiring demo end-to-end on your own machine. Phone + browser side by side is the money shot; know where it breaks.
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
- One table. The spec decided it; in this session implements it. Any "while we're in here" schema improvement is an unbaselined change, the fence applies to databases too.
- Anon/public keys only, never the service-role key. Say why in one line: the anon key is designed to be visible to browsers; the service-role key bypasses every rule and must never sit in a beginner repo (or most professional ones). If they ask about row-level security, the honest answer: "real, important, and out of scope: it's on the stretch list."
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
- Agile habits creeping in: "while we're here, the web page could also…", backlog thinking. The answer is the exceptions list, not the build. They have a product they're allowed to sprint on (project two); the capstone isn't it.
- "Why didn't we build it all this way from the start?": the right question, one week early. Hold it for the retro; note it on the spec-was-wrong list with pride.
- Homework load: this is the heaviest solo stretch (two roadmaps' tails plus the doc draft). Agree which stages are load-bearing (wiring, smoke test) and which can descope (web polish) before they leave.