← Default view
RUN-OF-SHOW BINDER · FACILITATOR COPY · 2026 EDITION

Vibe coding workshop, 2–3 h.
Laymen ship a working app.

PLAYBOOK · PRE-FLIGHT · CUE CARDS · BREAK-GLASS · TAKE-HOME
DO NOT WING IT
RUN TIME · 150 min
COHORT · ~20 laymen
HOST SPEND · €0–€23
BUILT FROM · 232 citations
Tab 01 · Playbook

§1The one-page playbook

Five locks. Lift verbatim · everything else negotiable.

Lock scope to one screen, one user, no auth, localStorage-or-bundled-cloud [1][2]. Cut to a single-user, single-screen rectangle and the builder choice almost stops mattering [14].

01 · Scope
One screen. One user. No auth. [12][13]
02 · Tool
Lovable default. Bolt.new warm backup. [3][4]
03 · Workflow
30 min in ChatGPT → paste once into Lovable. [5][6]
04 · Signup
24-48 h before. Off venue wifi. Hotspot in reserve. [7][8]
05 · Take-home
Pre-empt Supabase 7-day pause + OAuth refresh-token death. [9][10]

The four tools, on one shelf

In-room order · bookmark all four before T+00:00
Lovable preview
Default builder

Lovable

Chat-only, polished output, classroom-friendly. SSR-light → survives weak wifi. [26][15]
Bolt.new preview
Warm backup

Bolt.new

Lower signup friction; opposite failure mode (WebContainers break on ad-blockers/VPN). [16][18]
Supabase pricing preview
Take-home risk

Supabase

Free-tier DB pauses after 7 days of inactivity. Print the resume instruction. [9][25]
Vibe coding tools survey
PRD station

ChatGPT (free)

Plan here, build there. Stops the vague-prompt → vague-app → credit-burn cycle. [5][3]
Tab 02 · Pre-flight

§2Pre-flight checklist

Three sweeps. Initial each box. The room does not own the wifi.
Sweep AT − 24 h
  • Send sign-up link. Accounts created off the venue wifi, on personal connections. [7]
  • Verify each attendee has Lovable account confirmed + free credits visible (5/day, 30/month). [19]
  • Top up one shared Lovable Pro seat (≈€23) for in-room credit overflow. [11]
  • Email the “bring a phone with hotspot enabled” line. [8]
  • Check Lovable status + bookmark Bolt.new as warm backup. [17]
Sweep BT − 1 h
  • Arrive early. Open both Lovable and Bolt.new on the demo machine, log in, leave the tabs open.
  • Run one throwaway build end-to-end on venue wifi. Time it. If >90s for first paint — switch to hotspot. [18]
  • Disable ad-blockers, VPNs, and corporate proxies on the demo machine — Bolt’s WebContainers die on all three. [18]
  • Print the take-home cards. One per attendee + 5 spares.
  • Open the surgical edit template in a shared doc. Project it. [6]
Sweep CT − 0
  • Door check: every laptop has Chromium-based browser open (Bolt fallback needs it). [18]
  • One attendee = one tab. No multi-tab Lovable parallel builds (credit burn). [20]
  • Project: scope card on screen — “single screen, single user, no login”.
  • Phone hotspot powered on, password written on the whiteboard, ready to share. [8]
  • Take a 20-second wifi-survival baseline reading. Note it — you’ll publish this in the post-mortem.
Tab 03 · The Run

§3Run sheet · 150 min

Each block: SAY · DO · SHOW. URL exists by T+02:25.
T+00:00
00:00
10 MIN

Welcome & the rectangle SET FRAME

SAY
“In two and a half hours you will ship a working URL of one small app. The trick is not the AI — it’s how small the rectangle is.”
DO
Wifi roll-call: anyone red-bar → hotspot now. [8] Show the “you will leave with a live URL by 2:25” sign.
SHOW
A 60-second demo of a finished single-screen vibe-coded example — the bar you’re aiming for. [14]
T+00:10
00:10
20 MIN

Pick your screen SCOPE LOCK

SAY
“Pick one screen. One user. Nothing that says ‘and other people log in to see it’. If your idea has marketplaces, payments, or login — you are building it for *yourself only*.”
DO
Walk the room. Veto anything with auth, payments, real-time multi-user, native iOS. Those blow the budget regardless of builder. [12][13]
SHOW
The five-idea menu on screen. Encourage swaps in, not additions.
T+00:30
00:30
30 MIN

PRD in ChatGPT — the free planning step NO CREDITS BURNED

SAY
“We plan here. We build there. ChatGPT is free; Lovable burns credits per attempt. So we are going to spend 30 minutes making the build prompt boring and complete — then paste it once.”
DO
Project the PRD scaffold. Each attendee fills: app name · one-sentence goal · one screen description · data fields · three actions · visual mood. [5]
SHOW
Cue card 01 on the prompt-drill page. 20 attendees × 30 monthly credits = 600 shared — a Pro seat is the bumper for surgical edits, not exploration. [20]
T+01:00
01:00
45 MIN

Lovable Agent — the one paste BUILD

SAY
“Paste the whole PRD into Lovable Agent mode. One paste. Do not chat with it during the build — that’s when credits melt.”
DO
Walk the room. Anyone whose first build returns blank or 500s — switch to Bolt.new, paste the same PRD, keep going. [17]
SHOW
Live the demo on the projector. Narrate what you would change — but don’t change anything yet. The next block is for edits.
T+01:45
01:45
30 MIN

Surgical edits + three-strike rule REFINE

SAY
“Every edit uses the template: Change X to Y. Keep everything else. Two failed tries → revert and reword. Don’t debug-loop into the void.”
DO
Enforce the three-strike rule. [21] If an attendee has been stuck on one edit >5 min, walk over and revert with them.
SHOW
Cue card 02. The template lives projected on the wall for this whole block. [6]
T+02:15
02:15
10 MIN

Publish + take-home card SHIP

SAY
“Click publish. The URL exists. It will still exist in two weeks if — and only if — you do the three things on the card I’m handing you.”
DO
Hand out the printed take-home cards (Tab 06). Walk attendees through the Lovable Cloud bundled-DB option vs Supabase. [28]
SHOW
Each attendee’s URL up on a shared screen. The bar was: 20 URLs at T+02:25.
T+02:25
02:25
5 MIN

Photo, send-off, post-mortem ask CLOSE

SAY
“Email me at day 14 with: is your URL still live? Yes / no / I gave up. That’s the only metric that matters.”
DO
Photo. Note the wifi-survival baseline + final spend in EUR — that’s your post-mortem data. The canonical flags this as the highest-value publishing gap.
SHOW
The closing slide: the take-home card, magnified, with the “if it says paused, click resume” line in red. [25]
Tab 04 · Prompt drill

§4The prompt drill, on cue cards

Physical separation enforces the rule — plan in ChatGPT, build in Lovable.
CUE CARD · 01PRD · CHATGPT

PRD scaffold — fill before pasting

You are helping me write a one-screen app PRD.

App name:         ____________________
Goal in 1 sent.:  ____________________
The screen:       a [list / form / canvas]
                  with [N] fields
Three actions:    add, edit, delete (or similar)
Data lives in:    [localStorage / cloud]
Mood:             [calm / playful / utility]

Return: a Lovable Agent prompt that builds
this in one paste. No login. No payments.
One screen only.
Free tier. No credits burned. The PRD is the only thing that crosses tabs into Lovable [5].
CUE CARD · 02EDIT · LOVABLE

Surgical edit template

Change [X] to [Y].
Keep [everything else].

Examples that work:
· Change the “Add” button colour to red.
  Keep the layout and other buttons.
· Change the date format to DD MMM YYYY.
  Keep the filter, the list, and the form.
Anchor the unchanged surface with “keep”. Vague rewrites are how Lovable spends credits on regressions [6][21].
CUE CARD · 03RULE · THREE STRIKES

Three-strike rule

1. Edit fails  →  reword once.
2. Edit fails again  →  revert.
3. Reword from the working state.

Never edit-on-top-of-broken-state.
Never debug-loop more than two tries.
Two failed corrections is the budget. Revert and reword from a known-good build [21]. Saves 10–20 credits per attendee per session.
CUE CARD · 04CREDIT · MATH

Credit budget per attendee

Free tier:     5 daily · 30 monthly
20-person cohort:  600 monthly shared
Landing page:  ~2 credits each
Surgical edit: ~0.5 credit each
Pro overflow:  €23 / month for one shared seat
               — ≈10× headroom on debug days
Run the math out loud before the build block. Attendees who know the budget refine instead of re-prompt [19][20][11].
Tab 05 · Break glass

§5Break glass — failure modes

If you see the signal in column 1, do column 2. No improvising.
⚠ CONTINGENCY MATRIXOPEN BEFORE PANIC
Signal in the roomWhy it happenedDo this, in this order
Lovable down or 500ing 314+ outages logged since May 2025 [17] Switch the room to Bolt.new. Paste the same PRD. The PRD survives the tool swap; that’s why we planned in ChatGPT. [5]
Bolt won’t load on someone’s laptop WebContainers die on ad-blockers, VPNs, non-Chromium [18] Open an incognito Chromium tab. Disable all extensions. If on Safari, switch laptop. There’s no recovery path inside the browser they brought.
Venue wifi flatlines Conference wifi at workshop hour [8] Switch the room to your phone hotspot (password on the whiteboard). Cap to 20 devices. Lovable’s SSR-light bandwidth holds up better than Bolt on weak links. [15]
Credit exhausted mid-build Vague prompts → debug loop [20] Move that attendee to the shared Pro seat (€23 overflow). Walk them through one surgical edit on the new account, then move on. [11]
Someone wants marketplace / login / payments Scope creep [12][13] Re-state the rectangle out loud: one screen, one user, no auth. Offer the “build the single-user version today, add auth next week” deal. Don’t negotiate further.
Lovable build leaks an API key Keys baked into the JS bundle [22] Rotate the key. Do not let the URL go home with that key live. Use bundled-cloud (Lovable Cloud or Bolt Cloud) which proxies access. [28][24]
Build wants to ship to SQLite on Vercel Vercel ephemeral FS → data loss [23] Veto. Reroute to bundled cloud or external Supabase. The data-loss trap is silent and irreversible. [29]
Tab 06 · Take-home

§6The take-home card

Printed. One per attendee. The most under-built artifact in the playbook.

The URL exists at minute 145. Supabase pauses after 7 days [9], Google OAuth refresh tokens die on day 8 [10], and the take-home card is what stands between “I built an app” and “the link I sent everyone is broken.”

FRONT
Your URL will live
through day 14.
If — and only if — you do these three things
  • 01Open your app every 5 days. One click. Stops the DB from auto-pausing. [9]
  • 02If it says “paused” — click resume. Your data is safe. The pause is a billing-saver, not a wipe. [25]
  • 03Do not add login this week. Refresh tokens die on day 8 in Testing mode. [10]
CARD A · KEEP IN WALLET
BACK
If it breaks on day 14.
In this order. Stop when it works.
  • Refresh once. Half of all “broken” URLs are a paused DB resuming.
  • Open supabase.com → your project → click Resume.
  • If you see “invalid_grant”: that’s OAuth dying. Switch your Google project to Production mode. [10]
  • Still broken? Re-publish from Lovable. The chat history rebuilds in one click.
  • Last resort: email me. Subject: “dead URL, [your app name]”.
CARD B · REVERSE SIDE
FACILITATOR’S NOTE —

No published template for the take-home card exists. The canonical synthesised it from failure-mode posts. If you run this playbook — publish your version with day-14 survival rate.

Tab 07 · Ledger

§7Host spend ledger

20 attendees · two paths · EUR.
Line item
Free path
Comfort path
Lovable attendee accounts (free) [19]
€0
€0
Shared Lovable Pro seat (overflow) [11]
ChatGPT PRD planning (free) [5]
€0
€0
Bolt.new backup (free tier ≈ 1M tokens/mo) [27]
€0
€0
Take-home: Lovable Cloud (auto-pauses at $0) [28]
€0
€0
Phone hotspot data (peak hour) [8]
€0
€0
Printed take-home cards (20 × A6, colour)
TOTAL · per workshop · 20 attendees
€3

The canonical’s figure of ~€0 free-path, ~€23 comfort-path excludes the printed cards. They’re cheap and they’re what the day-14 survival rate hangs on — budget for them.

Appendix

§ADeeper dives

Five sub-research pages. The runsheet is the synthesis — these are the working files.