Skip to content

Demo Runbook — Cofounder Walkthrough 2026-04-21

Demo Runbook — Cofounder Walkthrough 2026-04-21

Section titled “Demo Runbook — Cofounder Walkthrough 2026-04-21”
  • Local Docker up: pnpm docker:up
  • Seed run: pnpm seed:demo
  • API running: cd apps/api && pnpm devhttp://localhost:3000
  • Expo running: cd apps/mobile && pnpm devhttp://localhost:8081
  • Demo consumer created in Clerk (see below)

FieldValue
Emailedoardo.demo@ideony.dev
PasswordSee DEMO_CONSUMER_PASSWORD in apps/api/.env (set manually)
Clerk clerkIduser_demo_consumer_edoardo (placeholder until Clerk webhook syncs)
Name (Clerk)Edoardo Demo

Create Clerk user before demo:

Terminal window
cd apps/api && tsx scripts/clerk-admin.ts create-demo edoardo.demo@ideony.dev "$DEMO_CONSUMER_PASSWORD" consumer

After creation, trigger the Clerk webhook (or log in once to force sync) so the local DB User.clerkId gets replaced from the mock value to the real Clerk user ID.

Professionals seeded (Rome only — within 50 km radius)

Section titled “Professionals seeded (Rome only — within 50 km radius)”
NameCategoryStatusisOnline
Giulia BianchiElectricalVERIFIEDtrue
Paolo De SantisPlumbingVERIFIEDtrue
Matteo ContiLocksmithVERIFIEDtrue

EntityCount
Categories3 (plumbing, electrical, locksmith)
Professionals7 total, 3 in Rome
Reviews14 (4–5 stars)
Demo consumer1 (Edoardo)
Demo bookings2 — PENDING (electrical) + ACCEPTED (plumbing)

  1. Open http://localhost:8081
  2. Tap Accedi → email: edoardo.demo@ideony.dev + password
  3. Land on Home — greeting shows “What do you need, Edoardo?“
  1. Tap category tile Elettricità (or Idraulica)
  2. Map loads — 3 Rome professionals appear as pins
  3. Tap Giulia Bianchi pin → professional detail screen
  4. Scroll: bio, trust badge (VERIFIED), rating 4.8★, 2 reviews
  5. Tap Prenota → booking form
  6. Fill description, pick date/time → tap Invia richiesta
  7. Success screen / toast
  1. Tap Prenotazioni tab
  2. Two cards visible:
    • PENDING — Giulia Bianchi (Elettricità) — scheduled 25 Apr
    • CONFERMATA (ACCEPTED) — Paolo De Santis (Idraulica) — scheduled 24 Apr
  3. Tap a card → booking detail screen
  1. Tap SOS tab
  2. Select Serrature (Matteo Conti is online in Rome)
  3. Show real-time dispatch UI — do NOT submit (live flow)

API endpoints to verify manually before demo

Section titled “API endpoints to verify manually before demo”
Terminal window
# Categories
curl http://localhost:3000/categories
# Rome professionals (search)
curl "http://localhost:3000/professionals/search?lat=41.9028&lng=12.4964&radius=50"
# Health
curl http://localhost:3000/health

ProblemFix
Clerk login failsReset password in Clerk dashboard → https://dashboard.clerk.com
Bookings tab emptyRe-run pnpm seed:demo — idempotent
Map blankCheck EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN in apps/mobile/.env; nuke Metro cache: npx expo start --clear
Pro not visible on mapConfirm isOnline: true and profilePublished: true via psql/dbhub
API 401 on searchCheck CLERK_SECRET_KEY in apps/api/.env matches Clerk dashboard

  • Do NOT commit real Clerk user IDs or passwords to source control
  • Rotate DEMO_CONSUMER_PASSWORD after demo session
  • Archive this plan to docs/archive/2026-Q2/plans/ after sprint closes