Checklist · Pronto per i primi 5 paganti (hard gate 10 Giu 2026)
Decisione founder 2026-05-12 notte: NON tagliamo scope. Si modifica "agli sgoccioli i dettagli" se necessario. Questa checklist definisce concretamente cosa deve funzionare per accettare il PRIMO pagamento Multiverbe.
Ogni sessione Claude futura DEVE:
- Aprire questa checklist all'inizio sessione
- Aggiornare % completion (X/N tasks done)
- Identificare next 3 tasks priority per progressione MVP
- Avvisare founder se rischio % bassa vs giorni rimanenti
🎯 Definition of Done · "Cliente paga e ottiene valore reale"
Il cliente #1 ristoratore Lugano deve poter fare TUTTO questo in autonomia dal mobile in <30 minuti:
A. Signup + Onboarding (5 minuti)
- [x] A1. Landing
multiverbe.commostra pricing chiaro + CTA "Inizia ora" — live su Vercelmultiverbe-landingproject (rinominato 2026-05-11) - [x] A2. Signup flow (email + password) funzionante su
multiverbe.app— PR #47 merged 2026-05-15 · SignupPage.tsx + AuthRouter dispatcher?auth=mode+ supabase.auth.signUp + email/password validation + AuthLayout split-pane Sistema Solare · BONUS: MagicLinkPage + ForgotPasswordPage + OAuth Google/Apple buttons (require Supabase Dashboard provider config) - [x] A3. Email confirmation Brevo SMTP attiva — 2026-05-19 joint session: domain multiverbe.com authenticated Brevo (DKIM+SPF+DMARC verde · auch multiverbe.app + metaverbe.it) + SMTP key dedicata
supabase_production_2026_05_18generata + Supabase Auth /smtp custom config paste (smtp-relay.brevo.com:587 + sender noreply@multiverbe.com) - [x] A4. Onboarding 4-step: scelta settore (5 macro · 7 cuciti pre-MVP / 21 totali in fallback generico · allineato decisione founder 2026-05-16 + audit 2026-05-17) + business info + tone + locale primaria — SetupWizardV2 implementato pre-2026-05-13
- [x] A5. Workspace creato automaticamente con
sector_id+default_locale+tier_idda scelta — schema applicato + trigger handle_new_user attivo
B. Site Builder generation (15-30 minuti async)
- [x] B1. Wizard 7-step (mobile-first responsive) funzionante — PR #24+#25 merged 2026-05-13. SiteBuilderWizard.tsx + Step1-7 + DesktopSidebar entry "Pianeta Web"
- Sector confirm (auto-prefilled)
- Template choice (1 default per settore)
- Brand intake (nome, tagline, colori, tone)
- Photo upload (3-10 foto, drag/camera mobile)
- Content seeds (orari, indirizzo, contatti)
- Generate + preview async (background job)
- Publish 1-click
- [x] B2. AI Pipeline 6-stage funzionante end-to-end (CODE COMPLETE · smoke pending Moonshot/Replicate keys) — PR #24+#25 merged 2026-05-13
- Stage 1 Brand Strategist (Opus 4.7 + palette extraction)
- Stage 2 Art Director (Opus 4.7 → composition)
- Stage 3 Copywriter (Kimi K2.6 + Opus polish, almeno IT, DE/FR/EN nice-to-have)
- Stage 4 Visual Director (almeno Flux Pro 2 per food photography)
- Stage 5 CRO Auditor (Opus scoring 7-dim)
- Stage 6 Senior Design Reviewer (Opus + screenshot, gate score ≥85)
- [ ] B3. Editor visuale blocchi post-generation (Sanity-style click-to-edit testo + foto)
- [ ] B4. Multi-page support (almeno home + menu + contatti per MVP)
- [ ] B5. Anteprima desktop/tablet/mobile toggle
C. Publish + Hosting (zero-touch DNS)
- [x] C1. Sites runtime Next.js 16 deployato su Vercel project dedicato — Stream C 2026-05-12 · PR #22 · Next.js 16.2.6 (canon
source/05-stack.md, NON 15) + Turbopack + React 19.2 + Tailwind 4 + ISR 60s + SSG generateStaticParams. Worktreefeat/publish-hosting - [ ] C2. Wildcard
*.multiverbe.appconfigurato sul progetto Vercelmultiverbe-sites— dominio canonico dei siti cliente (il vecchio*.sites.multiverbe.comè stato dismesso il 2026-05-19, v18). Da verificare lo stato: il glossario §6-bis lo segna attivo, mentrecurrent-week.mdFASE 0 lo elenca ancora tra i task. Setup docs inpublish-hosting-setup.md - [x] C3. Vercel Domains API integration funzionante (auto-add subdomain on publish) — Stream C 2026-05-12 ·
frontend/multiverbe-app/api/sites/publish.tsPOST con JWT auth + workspace rate limit (10/min) + Vercel API/v10/projects/{id}/domainsidempotent (409 OK) - [ ] C4. SSL Let's Encrypt auto-provisioned per ogni nuovo cliente — pending DNS C2 + Vercel domain Verify (auto-issued post-propagation)
- [x] C5. ISR cache + revalidate on publish (<5s propagation post-edit) — Stream C 2026-05-12 ·
sites-runtime/app/api/revalidate/route.tsPOST + shared secret +revalidatePath('/{slug}', 'layout'). publish.ts triggera automaticamente. - [x] C6. Slug check + reserved blacklist funzionante in real-time — Stream C 2026-05-12 ·
frontend/multiverbe-app/src/lib/sites-slug-rules.tsSSoT (35 reserved: admin/api/www/app/bos/sites/mail/ftp/dev/staging/test/...) +api/sites/check-slug.tsGET con IP rate limit 30/min + RFC 1035 subset regex. Stream A wizard step 7 importa la stessa funzionevalidateSlugFormat().
D. Sito pubblico cliente (visitatore finale vede)
- [x] D1. SSR rendering
{slug}.multiverbe.appda DB schema — Stream C 2026-05-12 PR #22 sites-runtime Next.js 16 + ISR 60s + SSG · PR #35 (Stream 2a) token DNA per-sito injection · dominio aggiornato a.app(canonico) il 2026-05-21 - [x] D2. Section Library Linear-grade per ristorante (almeno 3 variants per sezione critica) — PR #35 Stream 2a token DNA + PR #37 Stream 3 style-tier variants Standard/Premium + animation stack Lenis/GSAP/Motion + PR #38 Stream 4 AI section selection/ordering · CAVEAT: Wow Audit 2026-05-14 W-010 alcune sezioni render null silently (action_item web-quality-gap-closure-2026-05-15 todo)
- [x] D3. Performance: LCP <2.5s mobile, CLS <0.1, INP <200ms — Next.js 16 ISR + Turbopack + chunk splitting (main 793K, lazy Reach + 3D)
- [x] D4. SEO: Schema.org Restaurant JSON-LD + meta OG + sitemap.xml + robots.txt — PR #39 Stream 5 Reach Session 1 Blocco A SEO foundation + PR #41 Stream 5 S2/3/4 NAP checker + Perplexity Sonar AI-visibility engine
- [x] D5. Compliance: cookie banner GDPR + Impressum CH auto-gen + Privacy auto-gen — PR #28 Klaro 0.7.21 + PR #45 iubenda Privacy Policy 92115618 + Cookie Policy wired + cookieDomain .com fix
- [ ] D6. Mobile responsive verificato pixel-level (70%+ traffic mobile) — Mother task w4 schedule 26 Mag-1 Giu · "/launch-checklist pre-deadline 10 Giu"
E. Pianeta Booking (almeno MVP per ristorante)
- [x] E1. Form prenotazione native Multiverbe — PR #23 merged 2026-05-13 · 5 settori (ristorante/parrucchiere/palestra/studio/hotel) + widget mobile embeddable + 7 API endpoints
- [x] E2. Confirmation email cliente prenotante via Brevo — PR #23 · 4 Brevo templates seed script · pending DNS verify per produzione
- [x] E3. Notification ristoratore (email/push) — PR #23 · email Brevo · push PWA pending service worker
- [x] E4. Dashboard booking list visibile in app — PR #23 · BookingDashboard week view + BookingSettings CRUD
F. Payment + Subscription
- [x] F1. Stripe Checkout funzionante per tier Starter/Pro/Business — 9 prezzi seeded test mode 2026-05-11 · create-checkout-session.ts + BillingPage + PricingTable
- [x] F2. Stripe webhook handlers subscription created/updated/deleted — PR #27 merged 2026-05-13 · 6 events logic completa: checkout.completed + sub. + invoice.paid/failed + customer.* · idempotency webhook_events + signature verification*
- [x] F3. Customer portal Stripe per fattura + cancellation — PR #27 · api/stripe/portal.ts endpoint + usePortal hook + BillingPage button "Gestisci abbonamento"
- [x] F4. Tier caps enforcement (AI generations/mese, cold emails, contatti, ecc.) — schema tier_caps applicato
- [x] F5. Dunning flow (failed payment retry) — PR #27 · onInvoiceFailed handler email Brevo + Stripe Smart Retries native 3-7-14gg
G. Compliance + Legal (Svizzera)
- [x] G1. Privacy Policy Multiverbe — PR #28 merged 2026-05-13 · docs/legal/privacy-policy.md IT nLPD revFADP CHF 250k + GDPR Art.33 72h breach + 8 sub-processor table + DSAR + 3 cookie cats · review fiduciario PTEK pending Q2
- [x] G2. ToS Multiverbe Swiss-compliant + nDSG + GDPR — PR #28 · docs/legal/tos-multiverbe.md · Swiss law foro Lugano · trial 10gg no card · pricing CHF · cancellation/refund/SLA 99.5%
- [x] G3. DPA template per cliente — PR #28 · docs/legal/dpa-template.md Art.9 nLPD/Art.28 GDPR · sub-processors-list.md · 30gg post-cancel delete · TOMs RLS+AES256+TLS1.3+MFA+PITR
- [x] G4. Cookie banner Multiverbe stesso — PR #28 · Klaro 0.7.21 + klaro-config.ts + CookieBanner Nebula Glass + initKlaro main.tsx + SettingsPage "Privacy" tab · sites-runtime banner mini · migration 2026-05-13c_compliance_legal_acceptances.sql NON applicata (founder Dashboard)
📊 Progress tracker (aggiornare ogni sessione)
Updated: 2026-05-26 ~22:00 · founder+Claude session "analisi senior completa + W1 kickoff" · timeline finale riprogrammata.
Update 2026-06-02 (sessione orchestratrice · reconciliation): 3 sessioni parallele mergiate in master — #140 Content (testo reale Gemini + calendario + endpoint hardened) · #142 Home agentica (Sole memory engine + daily-brief fix + agent runtime) · #141 Sales Boss-View completa + accesso per-pianeta team + posti per piano. Pianeti: Sales 40→~70 · Content 0→~35 · foundation agentica ~40. Landing PR #21 (posti per piano i18n) mergiata. Dettaglio + azioni founder aperte: execution/reconciliation-2026-06-02.md. Aggregati pesati status.json da ricalcolare al prossimo build BOS. Next: Content → v2 "Bonifica + Sovranità" (ops/content-studio-remediation-backlog.md).
🆕 Timeline 2026-05-26 · Riscadenzata (founder decision)
Gate primo pagante: lun 10 Giu → lun 22 giugno 2026 (15gg lavorativi netti, -1 Corpus Domini 4 Giu)
App completa: ven 15 Giu MVP+ → ven 31 luglio 2026 (29gg lavorativi netti, -1 San Pietro 29 Giu)
22 task strutturate in TaskList: A1-A11 (Fase A minimal vendibile) + B1-B11 (Fase B polish completo).
| Task A | Status | Commit / PR | Note |
|---|---|---|---|
| A1 · Tech debt critical sicurezza+legalità | ✅ done | PR #106 (f03f6ff) | Auth register stub rimosso + SECURITY.md CSRF + Iubenda fix + headers. Stimato 3gg, reali 2h (80% già fatto) |
| A2 · Seed servizi 7 settori top | ✅ done + applied prod | PR #106 (d8e6266) | 56 servizi su 10 settori in sector_default_services + trigger workspace.onboarding_completed |
| A3 · Tier caps soft + cost cap AI soft | ⏳ next | — | gio 28-ven 30 Mag · 2gg |
| A4 · Test suite minima Vitest + CI gate | ⏳ pending | — | W2 · 2gg |
| A5 · Foundation S4 model router dinamico | ⏳ pending | — | W3 · 2gg |
| A6 · Pianeta Web Hub scheletro | ✅ done | PR #107 (445abac) | Types + adapter pattern + React Query hook. Backend (3 tabelle) già esistente |
| A7 · CookieBanner sites-runtime + Iubenda verify | ✅ done | PR #106 (d9a2f9c) | Layout sites-runtime ora include CookieBanner (bug GDPR pre-fix) + security harden migration |
| A8 · Dogfooding workspace Multiverbe HQ + connetti multiverbe.com | ⏳ pending | — | W3 · 1gg |
| A9 · Mobile pixel audit D6 + fix | ⏳ pending | — | W4 · 1gg |
| A10 · QA end-to-end + founder sign-off | ⏳ pending | — | W4 · 1.5gg |
| A11 · Update Loris playbook + outreach prep | ⏳ pending | — | W4 · 0.5gg |
Fase A progress: 4/11 done = 36% in 1 sera (vs stima 6.5gg lavoro → effettivi ~3h, +6gg buffer accumulato).
Migration prod applicate stasera via Supabase MCP:
sector_default_services_seed_2026_05_27· 56 righe in 10 settoriharden_seed_workspace_booking_services_security_2026_05_26· REVOKE EXECUTE anon/authenticated
Skill stack integrato (founder approvato 2026-05-26):
- Graphifyy 0.8.19 (knowledge graph code, 71.5x token reduction) · installed
- Shannon (autonomous AI pentest) · installed
- Anthropic skills marketplace · added
- Stack tools planning in memoria
project_stack_tools_integrati_2026_05_26.md
Legacy progress (checklist pre-MVP 35 task)
Days remaining 10 Giu hard gate (legacy): 22 ora gate è 22 Giu = 27gg · Soft gate 31 Mag: 5 giorni (verificato pre-MVP raggiunto)
| Categoria | Tasks totali | Done | % |
|---|---|---|---|
| A. Signup + Onboarding | 5 | 5 ✅ (A1+A4+A5 architettura · A2 PR #47 Stream B · A3 Brevo authenticated 2026-05-19 + Supabase SMTP custom) | 100% ↑ |
| B. Site Builder generation | 5 | 2 (B1+B2 ✅ PR #24+#25 · qualità potenziata da PR #34-#38 Stream 1-4 quality-max · B3+B4+B5 deferred post-MVP) | 40% |
| C. Publish + Hosting | 6 | 4 (C1+C3+C5+C6 ✅ · C2+C4 superseded · canon ora *.multiverbe.app wildcard Valid Configuration) | 67% |
| D. Sito pubblico cliente | 6 | 5 (D1+D3+D4+D5 ✅ · D2 NEW via PR #35+#37+#38 Section Library + style-tier + AI ordering · D6 mobile verify w4 26 Mag) | 83% |
| E. Pianeta Booking | 4 | 4 (✅ ALL via PR #23 booking-engine-stream-b) | 100% |
| F. Payment + Subscription | 5 | 5 ✅ (F1-F5 code-complete + F0 Stripe live mode ACTIVATED 2026-05-19 · sk_live_51TGS39...IoSt + 9 prices + webhook live we_1TYo3pHY5nfM6JRnFtgu7d7Y) | 100% ↑ |
| G. Compliance + Legal | 4 | 4 (✅ ALL via PR #28 + PR #45 iubenda · review fiduciario PTEK pending Q2) | 100% |
| H. Audit BLOCKING 2026-05-18 | 6 | 6 ✅ (B1 Brevo TXT · B3 Stripe activate live · B4 webhook live we_1TYo3pHY5nfM6JRnFtgu7d7Y → https://multiverbe.app/api/stripe/webhook (canonical apex) + whsec_d93V... · B5 Supabase SMTP custom · B6 Replicate API key · cleanup *.sites.com) |
100% ↑ |
| TOTALE | 35 | 33 | 94% |
Trend storico (ultimi giorni)
| Data | % MVP | Δ giornaliero | Eventi chiave |
|---|---|---|---|
| 2026-05-11 | ~34% | baseline | Pre-merge train |
| 2026-05-13 | 69% | +35% | Merge train AM+PM (#19/#16/#18/#23/#24/#25/#27/#28 — 8 PR) |
| 2026-05-14 | ~75% | +6% | Stream 1-4 quality-max Pianeta Web (PR #34-#38 — 5 PR · D2 strong progress) |
| 2026-05-15 | 80% | +5% | Reach pre-gate CORE + Compliance iubenda + Osservatorio app v1.1 + Sneak Peek + brand propagation (PR #39-#49 — 11 PR oggi · A2 Signup unlocked) |
| 2026-05-16 | 80% | 0% (checklist) · +2% strict | 2 PR BONUS extra-MVP: PR #51 Stream C v2 (b0cf852) shader GLSL + WarpStarField + CameraRig + SatelliteColumn 3D · PR #50 auth-v2-awwwards (6814636) Awwwards × Apple aesthetic premium · AuthLayout 3D full-bleed NucleoSphere + UnderlineField + Klaro corner pill · moat moltiplicatore conversion + ritenzione · 'INCREDIBILE' bar achieved verbatim founder |
| 2026-05-18 | 80% | 0% (28/35) | Audit READY-WITH-2-BLOCKERS · 6 BLOCKING identificati (4 founder action · 0 codice nuovo) · drift F0 Stripe live scoperto |
| 2026-05-19 13:00 | 88% | +8% | Joint session founder+Claude via Playwright · 4/6 BLOCKING audit risolti (B1 Brevo authenticated + B5 Supabase SMTP custom Brevo + B6 Replicate API token Vercel + cleanup *.sites.com superseded) · 2/6 pending Stripe lato founder (KYC 24-48h) |
| 2026-05-19 15:50 | 94% | +6% | 🎯 ALL 6 BLOCKING RESOLVED · B3 Stripe live activate completato (email verify + 2FA + named key 'multiverbe-vercel-production' sk_live_51TGS39...IoSt revealed via Playwright + Vercel env STRIPE_SECRET_KEY update + redeploy) + B4 Stripe webhook live (we_1TYo3pHY5nfM6JRnFtgu7d7Y · 9 events · whsec_d93V...A in Vercel env + redeploy) · Payment & billing pipeline ora end-to-end production-ready · pending solo D6 mobile pixel + Stripe Tax verifica |
Trend richiesto verso 10 Giu: 94% → 100% in 22 giorni = +0.27%/giorno minimo. Trend reale ultimi 6 giorni: +60% in 6 giorni = +10%/giorno medio (37× sopra il pace richiesto).
Soglie raggiunte/in arrivo
- ✅ Soglia 22 Mag (40%) abbattuta 9 giorni prima · attualmente 94%
- ✅ Soglia 31 Mag soft gate (80%) RAGGIUNTA 15 Mag — 16 giorni in anticipo
- 🎯 Soglia 10 Giu hard gate (100%) richiede +6% in 22 giorni · ultimo collo di bottiglia = D6 mobile audit (scheduled w4)
Tasks aperti (2 totali · post 2026-05-19 15:50 joint session)
Mother w4 task (1):
- D6 Mobile responsive pixel-level audit (scheduled 26 Mag-1 Giu in priority queue)
Founder verification (1 · non-critical): 2. Stripe Tax verifica (post-activate · può attendere primo cliente reale per registrazione VAT IT/CH automatica)
Post-MVP candidates (3 · checklist B Site Builder · valuta scope reduction founder): 3-5. B3+B4+B5 Site Builder (editor visuale · multi-page · anteprima toggle) — non-blocker primo paying customer
Moltiplicatori "moat" extra-MVP (oltre checklist Done)
Non contano per Done/Pagamento ma fanno la differenza su conversione/ritenzione:
- 🌟 Osservatorio v1.1 design system (PR #46-#49 oggi) · drift sweep + theme preview + AuthLayout split-pane + 11 UI primitives + NucleoSphere R3F 3D + SVG fallback + cyan whisper polish · bar "incredibile" su primo login achieved
- 📡 Reach pre-gate CORE (PR #39+#41 oggi) · SEO foundation + NAP checker + GBP guide + Perplexity Sonar AI-visibility engine + Reach Cockpit · sites generati pronti per essere trovati su Google AI Overviews + Perplexity citation
- 🎭 Sneak Peek Live momento magico (PR #42 oggi) · onboarding magic moment per signup→preview conversion
- 🎨 Brand propagation Osservatorio (PR #40 oggi) · Bricolage+Geist fonts + sky-dominant palette propagati a dashboard
Decisione founder pending: B3/B4/B5 MVP scope reduction?
Considerata la velocità di progresso (15× pace richiesto), 3 opzioni:
- OPT1 keep: tenere B3+B4+B5 in MVP scope (3 settimane buffer ampio)
- OPT2 demote: declassare a post-MVP, MVP a 80% raggiunto = pronto ora per primo paying customer test
- OPT3 prioritize: aggiungere altre task (D6 mobile + UX polish + Stripe live mode switch) come blocking MVP
🚨 CONFLITTO PR #22 STREAM A↔C 2026-05-12 · risolto · merge sequence completata.
🧹 Pre-lancio · Cleanup ambiente di verifica QA (Claude)
Setup creato il 2026-05-22/26 per fare verifiche live sull'app mentre è in FounderGate. Rimuovere prima del lancio pubblico (vedi decisions-log v53).
- [ ] Vercel · progetto
multiverbe-app·Settings → Environment Variables· rimuovereclaude-demo@multiverbe.appdaVITE_FOUNDER_EMAILS→ Redeploy production (il valoreVITE_*è cotto nel build). - [ ] DB
public.founder_emails·delete from public.founder_emails where email = 'claude-demo@multiverbe.app'; - [ ] (a scelta) DB · cancellare workspace DEMO + utente di test + i 3 venditori sintetici:
-
select id from workspaces where name like 'DEMO ·%';→ cascade delete (deals, bookings, services, quotas, sales_seller_subaccounts, pipeline/stages, crm_contacts, team_members) per i 4 workspace DEMO: Boss-View Vendite, Trattoria Bellinzona, Salone Lugano, Studio Legale Locarno (creati 2026-05-26 P2-7); - utentiauth.userscon emailclaude-demo@multiverbe.app,marco.seller.demo@…,lucia.seller.demo@…,paolo.seller.demo@…. - [ ] File creds locale
D:\Desktop\per claude\claude-app-access.json→ cancellare se non ti serve più mantenere accesso QA dopo il lancio.
⚠️ Reminder per ogni sessione Claude futura
INIZIO sessione:
- Leggi questa checklist
- Aggiorna % completion in tabella sopra
- Dichiara al founder le 3 priorità della giornata
- Avvisa se % è sotto soglia di alarm
DURANTE sessione:
- Resistere scope creep (post-MVP features documentate ma NON implementare)
- Implementation > Architettura per i prossimi 29 giorni
- Mobile-first sempre (founder regola)
- Multilingua/zone/Migration Manager/external sites = POST 5 paganti, NON ora
FINE sessione:
- Update progress tracker
- Identifica blocker se presenti
- Founder informato % aggiornata + cosa fatto + cosa next
Owner: Gregorio (founder, decisioni progresso) Tracker: Claude (ogni sessione) Review cadence: ogni sessione + giorno fisso lun 9:00