Skip to main content

C10 · Week 11: Fly by instruments

Two people your app tells apart, read from its logs.

make your final project tell people apart, then hand your pod only the URL: two of them, in separate Chrome profiles, use it side by side while you narrate from your logs who did what

The final project has to be multi-user: two or more people, each in their own browser, act on shared state, and the app tells them apart. What counts as a person is your call (an account, a pseudonym, an anonymous browser), and so is what each of them may see and change. This week it has to work, with that decision checked on the server and written down in the repo.

The crit rehearses how the final project is marked. Two of your pod open the app from its URL alone, each in their own Chrome profile (an incognito window counts), so they share no cookies or storage. Anything they need to get in has to be on the page. You don’t touch the app: you narrate from the logs, so the logs have to say who did what. mise exec -- flyctl logs -a <repo> tailed in a terminal is enough. If you can’t tell your two classmates apart in the logs, or one of them can change what should be the other’s, that’s the finding.

The logging outlives the crit: it’s what you and your agent read when the deployed app misbehaves, which is the subject of week 10’s lecture.

The spec

The brief on this page poses the problem and leaves room for your response. The spec is the fixed contract: what your tutor considers when judging whether that response meets the requirements. Some lines can be checked mechanically; the rest call for human judgement.