Take-home deployment: the deploy click is solved. Six decay vectors aren't.
Every major vibe-coding platform now publishes to a free auto-subdomain on a single click. The participant goes home with a working URL. Then it rots. This dashboard tracks the six decay vectors that silently kill workshop apps in the two-week tail, and ranks the platforms by which failure modes they expose.
Decay vectors tracked6all silent — none page the user
Tightest MTTF7dSupabase pause / Google OAuth refresh [27][66]
Confirmed kill-shots3paused DB · auth 401 · cred leak
01 ▸ decay vectors
mean-time-to-failure, ordered by severity
CRITDB pause — SupabaseMTTF 7d
Free projects pause after 7 days of database inactivity. Dashboard visits don't count — only real DB queries reset the timer [52]. Data survives, but the resume is ~30s typical, hours worst-case, and the unpause button has been known to fail entirely [54][55].
FIXcard line: "if it says 'paused' or 'unavailable', log into Supabase and click resume — your data is safe" [53]. Or pre-empt: ship with Neon (sub-second resume) or Turso (always-on) instead.
affects:supabase-backed apps · any Lovable/Bolt default
CRITAuth rot — Google OAuthMTTF 7d
Google OAuth refresh tokens expire after 7 days while the consent screen is in Testing mode, and after ~6 months of non-use even when published [66]. Workshop apps almost always ship in Testing mode → guaranteed silent death by day 8. Friends and family open the link and get nothing.
FIXuse the platform's bundled auth (Bolt Cloud, Lovable Cloud) instead of rolling Google sign-in. Removes the 7-day clock entirely [60].
affects:any app with "sign in with google"
CRITAuthorization invertedMTTF at deploy
A study of 170 Lovable-built apps found anonymous visitors with full data access and logged-in users blocked [68]. The app looks fine on the participant's own login but breaks for the friend they share it with — the canonical "works on mine, broken for grandma" failure [71].
FIXcard line: "if a friend says it's broken but it works for you, ask the AI: 'anonymous users can see everything but logged-in users get nothing, fix it'" [68].
affects:vibe-coded apps with any login flow
CRITCredential leak — bundled API keysMTTF hours
Lovable apps routinely embed Stripe / OpenAI / SendGrid keys directly in the JavaScript bundle where credential-harvesters find them within hours [61]. In March 2026 a single vibe-coded app leaked 1.5M API keys and OWASP added a dedicated 2025 Top-10 category for vibe-coding patterns [62].
FIXworkshop policy: no real keys in workshop apps. Use bundled cloud (auto-managed creds) or test/throwaway keys only.
Render's free PostgreSQL databases expire 30 days after creation (cut from 90 in 2026), with a 14-day grace period before deletion along with all data. No backups available [32]. A guaranteed data-loss event for any workshop participant who needed a DB on Render.
FIXdon't deploy take-home apps on Render free. Cold starts already kill the "show grandma" link [31]; the 30-day DB clock makes it terminal.
affects:any participant who picked Render manually
WARNCredit ceiling — edit budgetMTTF ~1mo
Free-tier edit caps vary wildly: Lovable5/day, 30/month[44]; v0 $5 credit + 7 msg/day [47]; Base44 5/day, 25/month [11]; Bolt 1M tokens/mo (loosest) [4]. Participant burns the month in one afternoon trying to fix a bug.
FIXcard line: "you have X edits per day on the free plan". Drill the three-strike rule (revert after 2 failed corrections) in session.
affects:all free-tier AI builders
WARNCold start — Replit free sleepMTTF 5 min idle
Replit's free tier sleeps after 5 minutes of inactivity with 10–30s cold starts on the next request [8]. The "show grandma" URL looks dead. Always-On requires the $20/mo Core plan. Render free has the same problem with longer (~60s) cold starts [30].
INFOFilesystem ephemeral — SQLite trapMTTF next redeploy
Vercel officially: SQLite cannot be used — each serverless function gets its own ephemeral filesystem [56]. Replit: local filesystem writes disappear on every redeploy [58]. Both AIs happily generate SQLite code when prompted naively → "Save my todos" silently loses every entry on the participant's next edit.
Data survives the pause, but resume is manual and a community of cron pingers exists only to defeat this. [27][28]
Render free PG
expires30d · grace14d → deleted
Guaranteed data loss at day 44. Disqualifying. [32]
PlanetScale free
free tierremoved apr 2024 · min$5/mo
No free path. Excluded from workshop options. [37]
04 ▸ credential & auth incident log · 2026
the dead-link of week three
2026-03CRIT1.5M API keys leaked from a single vibe-coded app shipped without security review. OWASP adds dedicated 2025 Top-10 category for vibe-coding risk patterns.Lesson: assume any AI-generated app has secrets in the bundle. Workshop policy must forbid real keys. [62]
2026-04-04CRITAnthropic bans subscription OAuth tokens in third-party tools. Every app with an embedded Claude subscription token breaks instantly; pay-as-you-go API key migration required.Lesson: any LLM key the AI bakes into the participant's app is a future fault. [63]
2026-04-27INFOLovable ships free iOS + Android mobile app — first mature phone-iteration path. Voice or text prompts; project syncs with desktop.Reframes the "two months later" iteration story for Lovable picks. [41]
2026-05-15WARNReplit iPhone app ships first update in four months after App Store review dispute. Live fragility example for mobile-iteration path.Don't promise alumni a smooth mobile-update cadence. [49]
ongoingCRITGoogle OAuth refresh tokens expire at 7 days while consent screen is in Testing mode. Workshop apps almost always ship in Testing mode → silent 401 on day 8.Mitigation: use bundled-cloud auth, not Google sign-in. [66]
ongoingWARNClerk dev/prod key swap — common deploy failure with no obvious error surface for a non-technical user. Free tier now covers 50k MAU so cost cliff is gone.Card line: "if your Clerk-built app says 'Invalid Publishable Key' check the dev/prod toggle". [65][64]
05 ▸ take-home card · printed runbook
no canonical published template exists; this is synthesised from failure-mode writeups
# take-home_card.md — print on 4×6, hand to participant at minute 175[1] YOUR URLprinted verbatim — plus a QR code [5][2] HOW YOU SIGNED IN"sign in with google, the address ending in @____"# handles the 'wrong account at home' failure [42][3] IF IT SAYS 'PAUSED' OR 'UNAVAILABLE'→ log into the platform dashboard→ click resume→ your data is safe[53][4] IF A FRIEND SAYS IT'S BROKEN BUT IT WORKS FOR YOU→ ask the AI:"anonymous users can see everything but logged-in users get nothing, fix it"[68][5] DAILY EDIT BUDGETyou have X edits per day on the free plan# don't burn the month in a single afternoon [44][6] PERMISSION TO ABANDONif the prototype turned out wrong, throw it away.# reduces facilitator-help load [72][7] RE-ENTRY URLSdiscord · meetup · office-hours · facilitator email# list multiple channels — not one [69][73][74][8] SECURITY · ONE LINEdon't put real API keys, passwords, or credit card details into your app[61]# debugging note for facilitators: the single most-reported pain point in-session
# is debugging. The proven mitigation is teaching participants to query the AI to
# explain errors rather than touch the code [67].
06 ▸ recommended stack by workshop shape
match the pick to the participant population
▸ Generic 2-3 hr "ship a working app" for laymenBolt.new + Bolt CloudMost generous free tier, no card, persistent DB bundled, never sleeps. [4][60]
▸ Participants likely to iterate on phonesLovable + Lovable CloudOnly mature mobile app in May 2026. Accept the 30/mo credit ceiling as the tradeoff. [41]
▸ UI prototyping only · no backendv0.dev → Vercel HobbyOne-click deploy, never sleeps, custom domain free. [6][29]
▸ Static "hello world" for absolute beginnersClaude ArtifactsZero account-creation friction for the viewer. Static only. [9]