Storefront
presentable
- Paper contract + validator
- Published pages at
/p/:slug - 150 phones, static, solved
I’d love for that to be happening up on screen as we’re talking. I am in AI conversations daily. And I didn’t know that was possible.
Sydney Cooke · 19 Aug 2026 · a walk · the sentence this is answering
Luke flipped a laptop mid-meeting and a page built itself. Sydney wants that on the projector at 2:30, with Eric, in front of 150 people who have never seen it. This is that laptop, stage-hardened. Not a dashboard.
What the room sees
She also said: she doesn’t even care what’s in it. The demo is the building. Three cards from the locked kickoff fixture — Ryan Heafy at 9:30, corporate innovation at 11:00, tables at 2:30.
Click the screen, then Space to pause · arrows scrub · R replays
Presentable is already two repos. That is the product, not a cleanup item. The storefront owns the markup contract and the URL 150 phones will open. The live engine owns the microphone and the projector. They meet at a renderer that emits the same Paper the storefront already knows how to publish.
Storefront
/p/:slugLive engine
Sept 16 is the kickoff only. Table takeaway artifacts and the 45-minute proposal engine are out — not because they’re uninteresting, because they are a different product with an unowned integration (Mark’s badge/PIN) and a second AST mode. If this room wants those in scope, that is a decision, not a sneak.
In case one of us messes up
Sydney asked to feed information ahead of time so a misspoken line doesn’t blank the screen. That’s here, and it is labeled honestly: a keyword matcher against a locked run-of-show. It cannot hallucinate. It is the safety net. It must never be the engine — otherwise the five minutes is a puppet show.
Click the screen, then Space to pause · arrows scrub · R replays
What you owe a projector
She didn’t ask for this. It’s the difference between Luke’s laptop in a meeting and a screen the back row can see. If the worker dies, the canvas holds. A static Paper backup is already a file. The QR handoff — same page, 150 phones — is Phase 4 and is not in these clips.
Click the screen, then Space to pause · arrows scrub · R replays
What the desk sees
The projector is one afternoon. This is the same machine on a call: conversation on the left, a Paper page assembling on the right. Recap, proposal, kickoff, table. Same Paper.
This is not the Sept 16 build: table takeaways and the 45-minute proposal engine stay out of the Annex, and these clips exist so question 2 has a shape to point at.
A 20-minute sales discovery. The buyer leaves with a one-pager they can forward.
Click the screen, then Space to pause · arrows scrub · R replays
The stage is the proof; the desk is the catalog. Pick one of these four to talk, not all four.
Mapped from the Aug 19 walk onto the kickoff fixture. Eric is with her. The computer is mirrored to the projector. 28 Aug add: land it with curiosity — stay, ask the experts — not a stack explanation. The QR is still the page they take; it is not the speech.
This is the meeting. The clips are so you don’t have to imagine it. 28 Aug locked the live surface: kickoff only, Andrew’s laptop, curiosity not a lecture. Recaps stay after the fact.
If the room would notice something missing, name it here. Sydney’s bar was not the contents. It was watching speech become a page.
After Sept 16: more stage moments, the 45-minute proposal engine, or the published-page storefront. The desk is that storefront, in four flavors. Pick one to talk, not three.
/p/nvs-2026 on the existing Pages deploy, or a real domain. The address is part of the choreography. Decide before the Sept 9 rehearsal.
Confirmed 28 Aug: only the kickoff is live on the projector. Recaps and table artifacts are after the fact, and they still sit on Mark Johnson’s badge/PIN backend. If this room wants the session-output promise on stage anyway, that is a new decision. The engine will not grow a second product in twelve days.
Facts for if the conversation goes into the machinery. Not the spine.
| Phase | What | State |
|---|---|---|
| 0 · contract + harness | AST, renderer, both transforms, tests with Wi-Fi off | committed |
| 1 · worker + SSE | In-memory session, canvas receives frames | committed |
| 2 · mic + STT | AssemblyAI Universal-Streaming v3, turn router | committed |
| 3 · stage canvas | Projector page, control, pause/undo/restore, passcode | in flight on main · projector test not run |
| 4 · publish + rehearsal | Finalize → storefront /api/pages → QR → phones |
not started |
Real deadline is the Sept 9 rehearsal, not Sept 16. Sept 1, 11am, is the facilitator prep call.
The Working Notes specs are a design memo. They describe a Svelte 5 / Tailwind CDN / Gemini Tier-1 monorepo that was never built. What shipped:
| Brief said | Shipped |
|---|---|
Svelte 5 canvas + cdn.tailwindcss.com | Plain HTML, vendored Paper theme, no CDN |
| Gemini as Tier 1, Claude as Tier 2 | Claude Opus 5 structured outputs, scripted fallback |
packages/* monorepo | One Worker, flat src/ |
Logistics icons, qrModal.isOpen | Dropped — Paper has no icon vocabulary; the canvas decides how to show a share target |
| Keyword matcher as the engine | Relabeled as break-glass. A test asserts it does not understand speech. |
Table takeaway artifacts / facilitator push. Stated session output of the event. Blocked on Mark Johnson’s badge/PIN contract. Track on the event side.
45-minute live proposal engine. Second AST mode, second theme, Stripe. Not before a live demo has happened once.
Durable Objects multiplayer. 150 phones load a published page. 150 websockets is not a thing to debut on stage.
WordPress ticketing, roster exports, and walk-in badges are the same week and a different problem. They are not in this visual.