Today, in one day, you build everything you need for tomorrow’s 5-minute talk. Not a finished app — a story that holds together + evidence + one screen worth showing.
Interrogate the problem→Cut scope→Collect evidence→One demo path→Design the talk
THU · ONE DAY TO A PRESENTATION002 / 95
Today’s timetable
Time
Block
What you hold when it ends
10:05–11:10
A — Interrogate the Problem
One-sentence hypothesis
11:10–11:50
B — Cut Scope + Send Questions
1 feature locked · 2 questions sent
11:50–12:50
Lunch (when the replies come in)
—
12:50–13:30
C — One Demo Path
A working screen or a mockup
13:50–14:30
D — Design the Talk + Pair Rehearsal
5-slot script
The gstack intro and install were finished on Monday — 10:00–10:05 is only a show-of-hands check. Grey rows: intro · lecture · rehearsal · wrap-up
THU · ONE DAY TO A PRESENTATION003 / 95
What gets graded tomorrow
Not “what did you build” — “what did you find out”. The demo is not the star of the show. It is evidence.
A talk that fails
The screens are pretty, but “who will actually use it… we’re not sure yet”
A talk that works
The mockup is ugly, but “we asked 2 people, and one of them was already spending money at exactly this point”
THU · ONE DAY TO A PRESENTATION004 / 95
Honestly — this is outside our course
Business models are not part of this course’s official curriculum. You will not be graded on BM theory tomorrow.
What gets graded instead: how specifically you narrowed the problem, how much you touched reality, and whether you are honest about what you could not do
So what you learn today is not “startup methodology” — it is how to use AI to raise the quality of your judgment. And that is exactly our course
THU · ONE DAY TO A PRESENTATION005 / 95
Four things you make today
① One-sentence hypothesis
Who · when · why · what loss
② 2 pieces of evidence
A record of asking real people
③ One demo path
3 clicks is enough
④ 5-slot script
The skeleton that fills tomorrow’s 5 minutes
These four are the entire day. The urge to build a fifth thing is today’s biggest risk.
THU · ONE DAY TO A PRESENTATION006 / 95
Show of hands — three questions
Q1 Who has written 500+ lines of code this semester?
Q2 Who has explained their own idea to a stranger?
Q3 Who then saw that person not just say “I need that too” but be already doing something about it?
The speed at which the hands drop is today’s whole lesson.
THU · ONE DAY TO A PRESENTATION007 / 95
The one claim of these two days
When the cost of building approaches zero, all the value moves to “the ability to choose what to build”.
THU · ONE DAY TO A PRESENTATION008 / 95
Today’s tool — install it, and paste if it won’t work
You finish the install on your own, Monday or Tuesday — no commands to memorise: paste one paragraph and Codex runs it for you. If it does not work, you go with the workbook prompts. Whichever you use makes zero difference to today’s grade.
THU · ONE DAY TO A PRESENTATION009 / 95
What is gstack — 90 seconds
“It turns Claude Code into a virtual engineering team — a CEO who rethinks the product, an eng manager who locks architecture, a designer who catches AI slop, a reviewer who finds production bugs, a QA lead who opens a real browser…”README.md, github.com/garrytan/gstack
Open source, MIT-licensed, released by Garry Tan (CEO of Y Combinator). It does not give the AI new abilities — it is a rulebook that puts roles on it.
The quote says “Claude Code” because that is the author’s default environment. Ours is the OpenAI Codex app (desktop). gstack supports Codex, but recognition inside the app is not guaranteed — which is why the prompt track is our default.
THU · ONE DAY TO A PRESENTATION010 / 95
Without it vs with it
Just asking
“Build me a booking app”
→ 300 lines, instantly → “no, that’s not what I meant…” → another 300 lines → binned two hours later
With a role on it
“You are a cold-blooded investment analyst. No compliments. Attack my problem definition first”
→ 6 questions → “That is hearsay. It is not your own experience” → the hypothesis changes
All gstack does is pre-write the sentence on the right for 50 different situations. There is no magic. Which is exactly why we can copy that sentence and use it ourselves.
THU · ONE DAY TO A PRESENTATION011 / 95
Almost all of it is Markdown
“gstack gives Claude Code a persistent browser and a set of opinionated workflow skills. The browser is the hard part — everything else is Markdown.”ARCHITECTURE.md
In other words, one command = one Markdown file. After install, the prompts sit in plain sight inside .agents/skills/. It is not a black box — which is why “copy and paste” works exactly as well as the original. That is the basis of today’s default track.
ETHOS.md — what this tool believes. A 10-minute read
Any folder → SKILL.md — the “wait, that’s all?” moment is today’s core. It is just a Markdown prompt
THU · ONE DAY TO A PRESENTATION013 / 95
Watch the maker demo it himself
▶
How to Make Claude Code Your AI Engineering Team — Y Combinator · Garry Tan Click to play it right here (from the 2:45 mark)youtube.com/watch?v=wkv2ifxPpF8&t=165s
If you are offline, open the URL directly — youtube.com/watch?v=wkv2ifxPpF8
THU · ONE DAY TO A PRESENTATION014 / 95
In the video, watch for these three things only
The questions come first — the scene that starts with questions, not code. You will live through the same thing in Block A today
The roles switch — the same AI is a CEO, then a reviewer. Because a human assigns the role
The human rejects — the scene where he takes a proposal and says “no”. That is everything you will learn today
Your eyes will drift to the flashy automation, but what we are stealing today is ① and ③.
THU · ONE DAY TO A PRESENTATION015 / 95
Install — paste this paragraph exactly
Windows / WSL2 Instructions: First, check the current Windows environment. If WSL2 is installed, run the installation procedure below inside WSL2. If WSL2 is not available, verify whether this project officially supports PowerShell. Adapt any macOS/Linux-specific commands for Windows as needed, and if any step fails, identify the root cause and resolve it. Do not overwrite or delete any existing **gstack** files in the user's home directory without explicit permission.
# Copy everything inside the box below, paste it into the Codex chat, and press Enter.Run these in order. If anything fails, find the cause and fix it.1) If bun is missing, install it: curl -fsSL https://bun.sh/install | bash2) git clone --single-branch --depth 1 \ https://github.com/garrytan/gstack.git ~/gstack3) cd ~/gstack && ./setup --host codex4) If it asks about the naming scheme, choose option 1 (it does not affect Codex)# When it finishes, restart the Codex app and type $office in the chatOffice Hours YC Office Hours — two modes. (gstack) ← if this appears, it worked
Do not shorten it, do not edit it — paste it exactly. If it fails, go to the workbook prompts — same results, and zero effect on your grade.
In PowerShell powershell -c "irm bun.sh/install.ps1|iex"
Running the install
Terminal, as-is
In a Git Bash window (not PowerShell)
Shortcut — if Node.js is already there, one line works on both: npm install -g bun
bun needs Windows 10 1809 or later
Honest advice: starting from zero on Windows does not finish in 10 minutes. In class, go with Track B (paste the prompt) and install after school. Tool usage carries zero points in today’s grading.
THU · ONE DAY TO A PRESENTATION017 / 95
You invoke with $, not a slash
As written in the gstack docs
/office-hours · /review — that is Claude Code notation
In the Codex app, actually
Type $ in the chat and a list appears Pick from the list — no names to memorise
Type just $off and pick Office Hours. Same method for $qa · $review
The names in the list are short (Office Hours, Qa, Review). The folder names carry a gstack- prefix, but you can ignore that when picking
Even without calling the name, Codex sometimes picks the skill up on its own when the content matches (implicit invocation)
Watch for lookalikes — Gstack Openclaw Office Hours is a variant for a different agent. What we use is plain Office Hours
For readability, this guide also writes /office-hours. In the app: $off → pick from the list. If nothing appears, paste the workbook prompt — the result is the same.
THU · ONE DAY TO A PRESENTATION018 / 95
Six things that change on Codex
Self-study — we skip this in class today
Feature
Claude Code
Codex (us)
Multiple-choice questions
AskUserQuestion buttons
None. Comes out as a “Decision Brief” in prose
/careful/freeze
Real blocking via hooks
No hooks. Advisory wording only
Second opinion
/codex
gstack-claude (needs the Claude CLI)
Parallel expert review
Runs
Removed
Invoking a skill
/name
$name or auto-detection
In the app (GUI)
—
Personal skills may not appear in the list (open issue)
The second row matters most today — on Codex, the guardrails block nothing. We come back to this later.
THU · ONE DAY TO A PRESENTATION019 / 95
ETHOS — the one principle you need today
“AI models recommend. Users decide. This is the one rule that overrides all others.”ETHOS.md
“Two AI models agreeing on a change is a strong signal. It is not a mandate.”
The top principle of gstack’s three. It is today’s tiebreaker for every conflict — “the AI told me to” is not a reason.
The morning’s two hours succeed or fail on how much you deleted.
THU · ONE DAY TO A PRESENTATION023 / 95
This is not a development tool
Building the app now takes a single afternoon. The hard part is choosing what to build — and you do that with questions, not code. The three lines on the left are this entire morning.
THU · ONE DAY TO A PRESENTATION024 / 95
At a glance — who does what
THU · ONE DAY TO A PRESENTATION025 / 95
Skill catalogue — when to use what
The next 8 slides are reference. In class we only walk through ① and ②. ③–⑥ and the “5 worth knowing” are material you open when you need it — not exam material.
gstack’s skills are laid out in the order you build a product. Don’t memorise them — just take away “ah, this stage has one of these”.
Stage
Flagship skill
One line
Today
Think
office-hours
Pressure-test the idea before code
✅ Block A
Plan
plan-ceo-review
Decide whether scope grows or shrinks
✅ Block B
Build
design-html
One screen, made real
✅ Block C
Review
review
Interrogate my code like a stranger’s
✅ Block C
Test
qa
Click through it like a user
✅ Block C
Ship·Reflect
shipretro
Deploy · retrospect
Not today
THU · ONE DAY TO A PRESENTATION026 / 95
① office-hours — pressure-test the idea
When
Before a single line of code. The moment you think “should I build this?”
Why
Thinking alone, you interpret everything in your own favour. You need a cross-examiner
How — it fires 6 questions one at a time, and re-asks until your answer gets specific.
you ▸ You are a cold-blooded early-stage investment analyst. No compliments.
Idea: helping students find someone to eat with during free periods
Skip product design — attack the problem definition first.
ai ▸ Q1. What evidence do you have that someone would be genuinely stuck without this?
you ▸ My friends say it’s annoying.
ai ▸That is hearsay. Has anyone already spent time or money on it?
Where it helps: it tells you in 10 minutes that you mistook a solution for a problem. Alone, that takes two days.
THU · ONE DAY TO A PRESENTATION027 / 95
② plan-ceo-review — decide the scope
When
After deciding what to build, before building it
Why
Left alone, AI always expands. A disaster for anyone with a deadline
How — name one of the 4 modes. Skip it and it drifts toward expansion. EXPANSION (grow) · HOLD SCOPE (freeze) · SCOPE REDUCTION (cut — us, today)
you ▸ Mode: SCOPE REDUCTION
Constraints: 40 minutes today, working alone
Success metric: the single scene I show in tomorrow’s talk
Cut everything that does not serve it. Keep a list of what you cut.
Where it helps: the cut list becomes your “What we got wrong” material, verbatim.
THU · ONE DAY TO A PRESENTATION028 / 95
③ design-html — one screen, made real
When
When there is nothing to show yet. The night before the talk
Why
Words alone are not believed. One clickable screen beats ten slides
How — demand HTML that opens as a single file. Name the 4 states (empty/loading/results/error) or it will not look real.
you ▸ Build a one-page self-contained HTML file.
No external CDNs or images. It must open as a single file.
Required states: empty / loading / results / error
Fill it with realistic fake data — real names, real sentences. No lorem ipsum.
Where it helps: a presentable demo in 40 minutes, no backend. Most of you take this path today.
THU · ONE DAY TO A PRESENTATION029 / 95
④ review — my code, through a stranger’s eyes
Self-study — we skip this in class today
When
Right before committing code, or the pre-talk check
Why
You cannot see your own code. And you especially cannot see code an AI wrote for you
How — two passes: critical findings first, quality later
Good at catching: places where model-generated values get saved or sent with no validation
What humans miss: a new state value whose consumer lives in another file — invisible in the diff
you ▸ For every finding, quote the exact code as evidence
and rate your confidence out of 10. Do not fix anything — list only.
Careful: left alone it fixes things on its own (commits are qa’s job) — hence “do not fix”.
THU · ONE DAY TO A PRESENTATION030 / 95
⑤ qa — click through it like a user
Self-study — we skip this in class today
When
Right before showing the demo to anyone else
Why
Unit tests check “is my thinking right”; QA checks “what the other person experiences”. They are not substitutes
How — normally it opens a real browser, clicks around, and keeps screenshots. Today, a human is faster.
Today’s recommended method — hand your laptop to your neighbour, state only the goal with zero explanation, and let them click for 3 minutes. Watch where they stall.
Better than the tool — because a person stalls exactly where an explanation is needed.
Careful: never run it on a deployed live service — it is a real browser with real cookies and sessions, so payments and deletions really fire.
THU · ONE DAY TO A PRESENTATION031 / 95
⑥ safety tools — and their limits
Self-study — we skip this in class today
Skill
What it does
On Codex
careful
Asks before rm -rf, DROP TABLE, force-push
No hooks, so no enforcement. Only advisory wording appears
freeze
Locks edits to one folder
guard
Both at once
“The guardrails are accident prevention, not access control.”docs/skills.md
Even on Claude this was “accident prevention”, never “security”. On Codex, even that does not engage. Today the only real defence line is one thing: commit often.
THU · ONE DAY TO A PRESENTATION032 / 95
Not used today — but 5 worth knowing
Self-study — we skip this in class today
Skill
When to use it
Why not today
spec
Turn “something like this, roughly” into an executable document
5 stages — does not fit in 40 minutes
investigate
Bugs. Never fix without a cause
Today there is no time even to create bugs
cso
Security audit (OWASP + threat model)
A mockup has nothing to audit
ship
Tests→review→PR. Stops on failure
We do not go as far as deployment
retro
Retrospect a week in numbers
Two days is too short
These 5 pay off on a personal project after the semester. Especially the iron rule of investigate — “no fix without a cause” — a discipline you can use with no tools at all.
THU · ONE DAY TO A PRESENTATION033 / 95
Block A — Interrogate the Problem (65 min)
30 min solo — interrogate your own idea with $office-hours or the workbook P1 prompt
20 min in pairs — attack each other’s hypotheses (10 min each)
15 min whole class — only the 4 people whose hypothesis changed present + instructor walk-around wrap-up
Target output: one-sentence hypothesis + 1 riskiest assumption. Get those out and Block A has succeeded.
/office-hours
THU · ONE DAY TO A PRESENTATION034 / 95
/office-hours — what it does
A YC partner office-hours session, turned into a command. It pressure-tests the idea before a single line of code gets written.
“Push on each one until the answer is specific, evidence-based, and uncomfortable. Comfort means the founder hasn’t gone deep enough.”office-hours/SKILL.md
Two Codex-app cautions: ① No choice buttons — the questions arrive as prose in the body, and you answer in your next message. ② Installed: $office-hours. Not installed: paste workbook P1 as-is. The result is the same.
/office-hours
THU · ONE DAY TO A PRESENTATION035 / 95
What you actually type
# Installed: $office-hours / otherwise paste the P1 prompt and startyou ▸ $office-hours
Problem: students in my department can’t find anyone to eat with
during free periods, so they settle for snacks alone at the campus shop.
Skip product design — attack the problem definition first. No compliments.
ai ▸ Q1. What is the strongest evidence that someone would be
genuinely stuck if this went away?
(“it would be nice to have” is not demand)you ▸ My friends said it’s annoying.
ai ▸That is hearsay. It is not your own experience.
Has anyone already spent time or money on this problem?
/office-hours
THU · ONE DAY TO A PRESENTATION036 / 95
Q1 — is the demand real
“What’s the strongest evidence you have that someone actually wants this — not ‘is interested,’ but would be genuinely upset if it disappeared tomorrow?”
Not demand
“My friends said it would be nice”
“80% said they need it in our survey”
“They say the market is huge”
Demand
Someone is already spending money or time
You can name — by name — the person who would be stuck without it
THU · ONE DAY TO A PRESENTATION037 / 95
Q2 — how are they coping right now
“What are your users doing right now to solve this problem — even badly? What does that workaround cost them?”
Red flag: “Nothing exists. That’s why the opportunity is so big.”
If truly nobody is doing anything, that problem does not hurt enough. One person hand-building their own spreadsheet is a stronger signal than 100 survey responses.
THU · ONE DAY TO A PRESENTATION038 / 95
Q3 — name that person
“Name the actual human who needs this most. What’s their title? What gets them promoted? What gets them fired? What keeps them up at night?”
Red flag: category-level answers — “university students”, “students living off campus”, “small business owners”.
“These are filters, not people. You can’t email a category.”office-hours/SKILL.md
Minimum bar: resolution like “a 300-level business student with a 3-hour Tue/Thu gap between lectures and a 90-minute commute”.
THU · ONE DAY TO A PRESENTATION039 / 95
Q4 — the narrowest wedge
“What’s the smallest possible version of this that someone would pay real money for — this week, not after you build the platform?”
Extra pressure: what if it created value with the user doing nothing at all? No login, no setup, no integrations.
The answer here becomes the only screen you build in Block C. Write it down word for word.
THU · ONE DAY TO A PRESENTATION040 / 95
Q5·Q6 — observation, and 3 years out
Q5 Observation
“Have you watched someone use it without helping? What surprised you?”
“I ran a survey” is not an answer — Surveys lie. Demos are theater.
Q6 3 years out
“As the world changes over 3 years, does this become more necessary or less?”
“The market grows 20% a year” — Growth rate is not a vision.
THU · ONE DAY TO A PRESENTATION041 / 95
A bad start vs a good start
Bad
“Build me a lunch-buddy matching app for free periods. In React.”
A solution mistaken for a problem. The AI writes 300 lines immediately, and you throw them away two hours later.
Good
“/office-hours Problem: 300-level business students with a 3-hour Tue/Thu gap can’t find anyone to eat with, so they settle for snacks alone at the campus shop. Skip product design — attack the problem definition first.”
/office-hours
THU · ONE DAY TO A PRESENTATION042 / 95
Default track — paste exactly this
# Paste this into the Codex app chat as-is. No install needed.
You are a cold-blooded early-stage investment analyst. No compliments.
My idea: [one sentence]
Ask me the following 6 questions, one at a time. Do not move to the
next question until I have answered. If my answer is vague, ask again.
1) What is the strongest evidence that someone would be genuinely stuck without this?
2) How is that person coping with the problem today, and what does that cost them?
3) Describe that person specifically — not as a category.
4) What is the smallest version someone would pay for this week?
5) Have you watched someone use it without helping? What surprised you?
6) Three years from now, is this more necessary or less?
At the end, score my hypothesis out of 100 and justify the score.
THU · ONE DAY TO A PRESENTATION043 / 95
No idea yet — six starters
① Cafeteria · free periods
Eating alone, cafeteria queues, menu info
② Campus secondhand
On-campus resale deals, scams and no-shows
③ Club money
Cash and transfers mixed up — can anyone trust the club dues ledger?
④ Tutoring · study groups
Matching tutoring gigs, scheduling, drop-outs
⑤ Cooking on a budget
Splitting groceries, expiry dates, group buying
⑥ Gym · fitness
Waiting for gym equipment, workout partners, tracking
If you are picking one, pick it here, within 10 minutes. And only pick something where you can reach the actual people involved this afternoon.
THU · ONE DAY TO A PRESENTATION044 / 95
The one-sentence hypothesis — template
[WHO] , during [WHEN · WHAT SITUATION] ,
because [WHAT BLOCKS THEM] suffers [WHAT LOSS] .
# ExampleA 300-level business student who commutes , during the 3-hour Tue/Thu gap ,
because they can’t find anyone to eat with on the spot ,
settles for snacks at the campus shop and loses afternoon focus .
If a product name appears in this sentence, it is wrong. The solution does not enter yet.
THU · ONE DAY TO A PRESENTATION045 / 95
One riskiest assumption
If the hypothesis collapses, where exactly does it collapse?
This afternoon’s 2 real-world contacts must be an attempt to break this one assumption. Ask random questions and you only burn time.
THU · ONE DAY TO A PRESENTATION046 / 95
Pair cross-examination — the 20-minute rules
10 min each, then swap. The speaker reads the one-sentence hypothesis, then stays silent
The listener asks questions only. Proposing ideas is banned
Three required questions — “How would you know if this is wrong?” / “Has anyone already spent money or time on this?” / “Who will you ask besides people you know?”
Final minute: the listener repeats the hypothesis back in one sentence. If they can’t, that hypothesis is still blurry
THU · ONE DAY TO A PRESENTATION047 / 95
Block A — to pass this block
A-1 You have a one-sentence hypothesis (no product name)
A-2 One riskiest assumption is written down
A-32 named people to contact this afternoon are chosen
A-4 Your pair could repeat your hypothesis back
If any of the four is missing, fill it before lunch. Do not move on to Block B.
THU · ONE DAY TO A PRESENTATION048 / 95
Block B — Cut Scope + Send Questions (40 min)
20 minthe P3 prompt (or $plan-ceo-review) in SCOPE REDUCTION — cut down to 1 feature
10 min write the 3 questions you will ask this afternoon
10 minactually send them — WhatsApp, DM, phone call. Now.
Sending is part of Block B. “I’ll send it later” means it never gets sent. Lunch becomes the hour the replies come in.
/plan-ceo-review
THU · ONE DAY TO A PRESENTATION049 / 95
/plan-ceo-review — one mode of four, only
Mode
What it does
Today
SCOPE EXPANSION
“What gets 10x better for 2x the effort?”
❌
SELECTIVE EXPANSION
Cherry-pick expansions to keep
❌
HOLD SCOPE
Freeze the scope, edge cases only
△
SCOPE REDUCTION
Cut to the minimum version. “Be ruthless.”
✅ this one only
“Once the user selects a mode, COMMIT to it. Do not silently drift.”plan-ceo-review/SKILL.md
/plan-ceo-review
THU · ONE DAY TO A PRESENTATION050 / 95
The scope-cutting prompt (shared by Track A/B)
/plan-ceo-review← Track B: drop this line, keep the rest
Mode: SCOPE REDUCTION
Constraints: 40 minutes this afternoon, working alone, dev experience [high/mid/low]
Hypothesis: [one sentence]
Success metric: [the single scene I will show in tomorrow’s 5-minute talk]
Cut everything that does not serve this metric.
Keep the cut items in a list, each with the reason it was cut.
If what remains is more than 2 screens, cut again.
The cut list becomes the material for tomorrow’s slot 4. Do not delete it.
/plan-ceo-review
THU · ONE DAY TO A PRESENTATION051 / 95
Today’s hard limits
1core feature
2screens, max
3clicks make the demo
40minutes to build it
If it can’t be built in 40 minutes, it is not what you build today. Cutting scope is skill, not surrender.
THU · ONE DAY TO A PRESENTATION052 / 95
The ladder of evidence — today’s target is ③
④ and ⑤ are impossible in one day. Today’s target: two pieces of ③. And tomorrow, saying “we only got as far as ③” scores higher than pretending you reached ⑤.
THU · ONE DAY TO A PRESENTATION053 / 95
The 3 questions to ask — and the banned ones
Ask
“When did you last run into that situation?”
“What did you do then?”
“Have you ever spent money or time because of it?”
Banned
“Would you use an app like this?”
Everyone says “yes”. Zero information
“What do you think of this feature?”
Ask for a verdict and you get politeness back
The principle: ask about past behaviour, not future intent.
THU · ONE DAY TO A PRESENTATION054 / 95
Friend bias — write it down, don’t hide it
The 2 people you contact today will almost certainly be people you know. That is not the problem. Pretending otherwise is.
Points off
“We validated with 2 users” (both are roommates)
Points on
“Both are friends of mine, so there is bias. Here is how I discounted their answers accordingly”
THU · ONE DAY TO A PRESENTATION055 / 95
The evidence log — use exactly this format
#
Who
Friend?
Actual behaviour (past tense)
Where it differs from my assumption
1
A, 300-level, same department
Yes
Snacked alone 3 times last week. Asked the class WhatsApp group, got no reply, gave up
The problem may be response rate, not matching
2
B, junior from my club
Yes
Eats alone on purpose — finds it easier
Falsifying signal — not everyone is bothered
If the last column is empty, that interview was never heard. You only went to get your own opinion confirmed.
THU · ONE DAY TO A PRESENTATION056 / 95
What lunch is for
11:50–12:50 is not just for eating — it is when the replies come in.
Sending finished inside Block B. The replies arrive over lunch
No reply? Send to 1 more person at the start of the afternoon
Reply arrives? Fill the last column of the evidence log immediately
This design is the only channel through which reality intervenes in these two days.
THU · ONE DAY TO A PRESENTATION057 / 95
Block B — to pass this block
B-1 Cut down to 1 feature · 2 screens at most
B-2 The cut list survives, with reasons
B-3 All 3 questions ask about past behaviour
B-4Actually sent (verified by screenshot)
THU · ONE DAY TO A PRESENTATION058 / 95
Block C — One Demo Path (40 min)
You already built something
Check it with P6 → confirm the path with P7 (neighbour clicks) → keep only the one path you will show and hide the rest
Nothing yet
P5: one static screen + fake data. 40 minutes is enough
Both branches share one goal — the 3 clicks you show for 90 seconds tomorrow.
/review/qa/design-html
THU · ONE DAY TO A PRESENTATION059 / 95
Nothing built yet — the 40-minute mockup prompt
/design-html← Track B: drop this line, keep the rest
Build a one-page self-contained HTML file.
No external CDNs, fonts, or images. It must open as a single file.
Screen: [e.g. — find someone to eat with during a free period]
Required states, all four: empty / loading / results / error
Fill it with fake data that looks real — real names, real sentences.
No lorem ipsum.
Check that nothing breaks at 375px mobile width and report back.
The lorem ipsum ban is not about taste — it is about layout lies. Real sentences run longer than lorem and break layouts differently.
/design-html
THU · ONE DAY TO A PRESENTATION060 / 95
AI slop — what erodes trust tomorrow
Slop signals
Overdone purple-teal gradients
Meaningless emoji icons
Every card with the same shadow, same rounding
Leftover placeholder text (“Lorem ipsum”, “John Doe”)
Instead
Set the layout with real sentences
Build the empty and error states first
Colour only where it carries meaning
Slop is not an aesthetics problem — it is a trust problem. The moment it reads as “an AI made this”, nobody hears your content.
THU · ONE DAY TO A PRESENTATION061 / 95
Already built — what /review catches
SQL · data safety string interpolation, writes that bypass validation
Race conditions duplicate submissions, unsafe HTML rendering
LLM output trust boundaries model-generated values flowing into the DB, mail, fetch — with no validation
Constant completeness tracing a new value to consumers outside the diff
In student projects the real catches are 3 and 5. Number 5 is a defect humans structurally cannot catch — it never appears in the diff.
/review
THU · ONE DAY TO A PRESENTATION062 / 95
Auto-fix — a commit you haven’t read is not your code
/reviewauto-fixes some findings. The list includes N+1 query fixes and added LLM-output validation — both can change behaviour
/qa fixes and then commits
The brakes are rule-based counters — qa stops above 20% risk · hard cap 50 findings. Yet the basis for those coefficients appears nowhere in the repo
The rule: read every auto-fix commit line by line with git show. Tomorrow, saying “the AI fixed this part and I did not check it” beats presenting without knowing.
/review/qa
THU · ONE DAY TO A PRESENTATION063 / 95
Codex has no hooks
Claude Code
/careful·/freeze are PreToolUse hooks. The tool call itself gets confirmed or blocked
Codex (us)
The hooks: frontmatter gets stripped. What remains is one paragraph of “Safety Advisory” prose
“The guardrails are accident prevention, not access control.” … “it’s accident prevention, not a security sandbox.”docs/skills.md
Even on Claude, the guardrails were never security controls. On Codex, even that weak device has no force. The only thing standing between you and rm -rf today is your own hands.
THU · ONE DAY TO A PRESENTATION064 / 95
/qa — it opens a real browser
“Repro is everything. Every issue needs at least one screenshot. No exceptions.”qa/SKILL.md
Unit tests check “is my thinking right”; /qa checks “what the user experiences”
It demands a clean working tree — commit first, then run it
Never run it on a deployed live service. It is a real browser with real cookies and sessions
Short on time? Track B is enough — hand your laptop to your neighbour and let them click with zero explanation. 3 minutes surfaces most of the problems.
/qa
THU · ONE DAY TO A PRESENTATION065 / 95
“Where this demo is lying, right now”
Write down everything fake on your current screen. Tomorrow you present this list, as-is.
# The fake list (example)
· Recommendation algorithm: none — it is just sorted by most recent
· The 3 users are dummies I created
· Login does not work — it is only a button
· Notifications appear on screen only. Nothing actually gets sent
Hide it and get caught in Q&A, and that talk is over. Say it first, and it becomes honesty points.
THU · ONE DAY TO A PRESENTATION066 / 95
Lock the one demo path
Start screen→Click 1→Click 2→Result
You must be able to show these 4 steps in 90 seconds, without speaking
If it needs explanation midway, it is not a path — it is an excuse
Practise 3 times and delete any click that fails
Check laptop brightness, resolution and notifications-off — today
THU · ONE DAY TO A PRESENTATION067 / 95
Block C — to pass this block
C-1 A click path that finishes inside 90 seconds
C-2 The fake/unbuilt list is written down
C-3 Opened once on someone else’s laptop or phone
C-4 (Optional) a 3-minute backup recording
C-4 is optional — but if the network dies tomorrow, it saves the talk.
THU · ONE DAY TO A PRESENTATION068 / 95
Tomorrow’s 5 minutes — 5 slots
Slot 4 decides the character of these two days. Empty, it is an investor pitch; filled, it is a validation report.
THU · ONE DAY TO A PRESENTATION069 / 95
Five things to delete
Tech-stack explanation → delete (“we used all six gstack commands” is also a delete)
Market size with no basis → delete
The full screen tour → shrink to the one path
A roadmap of unbuilt features → delete
No quotes → add 1 direct quote, mandatory
Take these five out of 5 minutes and 3 minutes remain. Those 3 minutes are the real content.
THU · ONE DAY TO A PRESENTATION070 / 95
Do not say “we validated it”
Asking 2 people cannot verify a hypothesis. All you can do is attempt to falsify it.
Wrong wording
“We validated user needs”
“Market fit has been proven”
Accurate wording
“1 of the 2 people gave us a falsifying signal”
“We tried to break the hypothesis; under these conditions it held”
THU · ONE DAY TO A PRESENTATION071 / 95
Pair rehearsal — the two-run rule
Run 1 time it, nothing else. Over 5 minutes? Shrink slot 3 (the demo)
Run 2 the listener throws 2 Q&A questions — one is mandatory: “How would you know if this is wrong?”
Stuck on an answer? Write it into slot 5 (next validation) on the spot
A question that stumps you is not something to hide — it is material for slot 5. Know it in advance and Q&A stops being scary.
THU · ONE DAY TO A PRESENTATION072 / 95
Tomorrow’s operations — know this in advance
Time
What
09:30–09:50
Opening · grading criteria · peer feedback cards handed out
09:50–11:50
Session A — 8 people (15 min each: talk 7 + Q&A 5 + changeover 3)
11:50–12:50
Lunch
12:50–12:53
Morning-patterns briefing (3 min)
12:53–14:23
Session B — 6 people
14:23–14:40
Peer feedback tally · best comments
14:40–15:00
Wrap-up — how to distrust your tools
The order is drawn by lot tomorrow morning. Everyone arrives by 09:30 with laptop, adapter and backup file ready.
THU · ONE DAY TO A PRESENTATION073 / 95
Tonight’s checklist · the last word
One-sentence hypothesis (final)
2 evidence log entries — including the last column (where it differs from my assumption)
90-second demo path + the fake list
5-slot script + 2 rehearsal runs
Laptop · adapter · backup file (or the recording)
Notifications off — a popup mid-talk costs you trust
Presenting “this turned out to be wrong” tomorrow is not a penalty. Finding that out in one day is an achievement. The penalty is for inventing results that do not exist.
FRI · DEMO DAY074 / 95
Friday — DEMO DAY
What we grade today is “what you found out”, not “what you built”. The demo is not the star of the show — it is evidence.
14students
7 mintalk
5 minQ&A
0points for polish
FRI · DEMO DAY075 / 95
How today runs
Time
What
09:30–09:50
Opening · draw the speaking order · hand out peer feedback cards
09:50–11:50
Session A — 8 people (15 min each)
11:50–12:50
Lunch
12:50–12:53
Morning-patterns briefing (3 min)
12:53–14:23
Session B — 6 people
14:23–14:40
Tally the peer feedback cards · read out the best comments
14:40–15:00
Close — how to doubt your tools
15 min per person = 7 talk + 5 Q&A + 3 transition. When the timer rings at 7 minutes, you stop — even mid-sentence. No exceptions.
FRI · DEMO DAY076 / 95
The rubric — 100 points
Criterion
Points
What we look for
Problem clarity
20
Is it specific — who, when, what loss? Naming a category costs you points
Evidence of real contact
25
Did you actually ask people · did you capture past behaviour · did you disclose how many were friends
Hypothesis updates
20
What changed because of what you heard. If nothing changed, you owe us a reason
Demo fit
20
Does the scene you show help confirm the hypothesis (not how polished it is)
Honesty
15
Did you name the fake, the unbuilt, the limits first. Bonus for self-reporting
“Polish” and “business-model theory” carry zero points. Because that is not what this course is about.
FRI · DEMO DAY077 / 95
Why polish earns zero points
If we graded polish
Whoever spent one more day coding yesterday wins → the lesson of these two days is wiped out
If we grade evidence
Whoever asked a real person yesterday wins → we are grading the skill that survives the AI era
As the cost of building falls toward zero, all the value moves into “the value of choosing what to build”.
FRI · DEMO DAY078 / 95
Peer feedback card — just 3 boxes
Box
What to write
① The strongest line
The most convincing sentence in the talk — copy it down word for word
② The weakest link
The spot where “problem → solution” or “evidence → conclusion” made a leap
③ One question you want to ask
Even if you never got to ask it in Q&A, write it here
No scores. When students score each other, relationships contaminate the grading. We collect sentences only.
FRI · DEMO DAY079 / 95
The audience’s job — three kinds of questions
The falsifying question “How would you know if that was wrong?”
The evidence question “Of the people you asked, had anyone already spent money or time on this?”
The honesty question “Which part of this demo is fake?”
Of the 5 Q&A minutes, at least 2 questions come from you. If the instructor asks everything, you become spectators.
FRI · DEMO DAY080 / 95
Speakers — the 30-seconds-before check
Kill notifications (Slack · WhatsApp · email)
Prefer plugging in directly over screen sharing — no lag
Have your backup file or recording path already open
Say your first sentence out loud once — it opens up your voice
Your first sentence is not a greeting — it is the problem sentence. Do not burn 15 seconds on “Good morning, my name is…”.
FRI · DEMO DAY081 / 95
The five talk slots — one more look
0:00–0:45 The problem + 1 direct quote from an interview
0:45–1:30 How the hypothesis changed — at first → now → what changed it
1:30–3:00 The demo — 3 clicks, one path
3:00–4:00 What we got wrong
4:00–5:00 The next test
The slot is 7 minutes, so you have 2 minutes of slack. That slack is for when the demo stutters — not an invitation to explain more.
FRI · DEMO DAY082 / 95
Session A — go
8 people from here. 15 minutes each.
No questions during a talk. Write them on your card
The next speaker plugs their laptop in ahead of time
Keep the 7-minute timer visible on screen
FRI · DEMO DAY083 / 95
Right after lunch — morning-patterns briefing (3 min)
We stop for just 3 minutes here and name what kept repeating across the morning’s 8 talks.
Repeated weaknesses
(Instructor fills this in live — e.g. friends-only interviews, demo tours, saying “we validated it”)
Repeated strengths
(e.g. leading with the disconfirming case, self-reporting the fake list)
The whole point of these 3 minutes: the afternoon 6 do not repeat the morning’s mistakes.
FRI · DEMO DAY084 / 95
Session B — go
6 people left. You are allowed to apply the morning’s feedback immediately.
Fixing your script is not cheating — it is learning
But if you changed something, say so: “I watched the morning talks and changed this part” — that earns bonus points
FRI · DEMO DAY085 / 95
What the good talks had in common
A specific person shows up in the first 30 seconds — “a 300-level Business Admin student who commutes”
The quote comes out verbatim — “He said, ‘I’d just go to the campus kiosk’”
The demo is one path. Not a tour
They say what they could not build first
“What to check next” is measurable
FRI · DEMO DAY086 / 95
The 5 most common mistakes
The category user — “Students find it inconvenient”
The intent interview — “They said they would use it” (future intent is not data)
The demo tour — clicking through all 5 screens until time runs out
“We validated it” — you cannot validate anything with 2 people
Hiding the fake — get caught in Q&A and that talk is over
FRI · DEMO DAY087 / 95
verify vs falsify
Impossible
Asking 2 people in order to verify
“The need has been proven”
Possible
Trying to break your hypothesis
“1 of the 2 people gave me a disconfirming signal, so I changed the hypothesis to this”
This distinction is the longest-lasting thing you learn today — because it is training in judgement, not in entrepreneurship.
FRI · DEMO DAY088 / 95
Now it’s the tools’ turn to be doubted
For two days you used Codex and gstack. The last 20 minutes go to how to doubt these tools.
① Framing with numbers
What “810×” really is
② Auto-fix
Commits that change behaviour
③ Silence ≠ safety
The blind spots of checking tools
The tools will be different in 2 years. The method of doubting will not.
FRI · DEMO DAY089 / 95
① Don’t quote “810×” as-is
The gstack repository offers a comparison: “one person’s output grew 810×”. And then the same repository takes that number apart itself.
Where you poke the assumption
Multiplier
The README’s original claim
~810×
Raise the 2013 baseline from 14 lines → 50 lines
228×
Correct for 2× AI verbosity (the author’s own figure)
408×
Push the correction to 100×
8×
“Time to first user is the metric that matters, not LOC.”docs/ON_THE_LOC_CONTROVERSY.md
FRI · DEMO DAY090 / 95
② Auto-fix and outsourced judgement
/review·/qafix the code and commit it. The list includes items that change behaviour
The brake is a rule-based counter, and the docs give no basis for its coefficients
gstack’s top ETHOS principle is “AI models recommend. Users decide.” — yet the automation features, by definition, replace that very decision
The lesson: that a guardrail exists and how strong its basis is are two different questions. A number attached is not a number verified.
FRI · DEMO DAY091 / 95
③ Silence is not safety
The security check /cso carries 22 hard exclusion rules — DoS, rate limiting, and missing logging are structurally never reported
The sentence the tool stamps onto every report, without exception: “This tool is not a substitute for a professional security audit… produce false negatives.”
The same tool behaves differently per environment — Codex has no hooks, so /careful blocked nothing at all
A pass from an automated checker means “not found yet”. It does not mean “not there”.
FRI · DEMO DAY092 / 95
Bonus — the tool doesn’t match its own docs either
Source
Count
What the README says
“23 specialists + 8 power tools” = 31
Commands the install guide lists
35
Directories that actually contain a SKILL.md
54
A tool that promises to stop documentation drift is drifting in its own README. We hit it ourselves — the README lists --host cursor, but the install script rejects that value as an error.
The code is the truth, not the docs.
FRI · DEMO DAY093 / 95
So the real metrics are
0points for polish
2real-world contacts, minimum
1next test
1honest failure report
Time to your first user is the metric. Not lines of code.
Today’s rubric and this sentence are saying the same thing.
FRI · DEMO DAY094 / 95
Three things you take with you — 3 minutes to write
1 thing to keep A command or habit that actually paid off over these two days
1 thing to drop Something you only did for form — write its name down
1 thing to count next time What will you measure in your next project
The gap between people who use the tool as-is and people who bend it into their own workflow opens up 6 months from now. Every file in ~/.codex/skills/ is plain markdown — open it and edit it.
FRI · DEMO DAY095 / 95
The final proposition
Build a beautiful app and say “we’re not sure yet who will use it” — that talk fails. Build an ugly mockup and say “I asked 2 people and 1 of them showed me I was wrong” — that talk succeeds.
Codex and gstack are just the operating system that runs this loop. People make the decisions, all the way to the end.