Il gestionale copiato in casa, e un CRM costruito sopra.
Prima il sito: veloce, collegato a dove il cliente prenota e paga davvero. Poi il passo grande: tutto il gestionale della palestra copiato in un database nostro, sempre aggiornato, e il CRM migrato da Airtable lì sopra.
La sfida
Il CRM viveva su Airtable, il gestionale da un’altra parte: due verità sugli stessi clienti, dati ricopiati, report fatti a mano. E un sito che pesava 45 MB al primo caricamento.
L’approccio
Il gestionale non si tocca: lo copiamo. Un download iniziale e poi aggiornamenti continui via webhook e job programmati. Sopra, un CRM su misura: i lead dei moduli e di Meta entrano dritti, nascono anche sul gestionale, e ogni numero della dashboard ha una regola scritta.
Dal vivo
Schermate reali.
Il sito, l’app e gli strumenti così come li usano clienti e staff oggi. Tocca una schermata per ingrandirla.
Due verità sugli stessi clienti.
Ora ce n’è una.
Dietro il login
Passion Fitness
Quello che si vede solo da dentro — il CRM, l’app da socio — ricostruito e animato con dati di esempio anonimi.
La dashboard abbonamenti
Attivi oggi contro un anno fa, nuovi e rinnovati contro gli scaduti, i ricavi mese per mese. Le regole stanno nel database, non nel foglio di qualcuno: abbonamento, rinnovo, prova sono definiti una volta.
Ricavi mensili (€)
Abbonamenti attivi per tipo
- Open47%
- Sala pesi + corsi27%
- Reformer16%
- Under 2510%
Ultimi incassi
- AAlessia P.Nuovo · Open annuale€ 549,00
La dashboard abbonamenti
Attivi oggi contro un anno fa, nuovi e scaduti non rinnovati negli ultimi mesi. Le regole stanno nel database, non nel foglio di qualcuno: abbonamento, rinnovo, prova sono definiti una volta.
Il gestionale, in casa
Il primo download: tutte le tabelle del gestionale copiate in 24 minuti. Da lì in poi si aggiorna da solo, e ogni pagina del CRM legge in un istante invece di chiedere al gestionale.
Il lead da Meta al gestionale
Chi compila un modulo su Instagram o sul sito entra nel CRM con il consulente già assegnato, e nasce anche sul gestionale. Nessuno ricopia niente.
0 lead entrati da soli
Un sito che pesa un decimo
Immagini e caricamento trattati come un requisito, non come un dettaglio da sistemare dopo.
Cosa abbiamo costruito
- 01Sito con blog, prenotazioni e checkout collegati al gestionale
- 02Copia completa del gestionale, aggiornata da webhook e job programmati
- 03CRM migrato da Airtable: lead, prove, rinnovi, debitori, task, riunioni
- 04Lead dei moduli del sito e di Meta dritti nel CRM e nel gestionale
- 05Dashboard abbonamenti: attivi, nuovi, scaduti, retention, durata
- 06Ticket, ruoli e permessi, e una pagina «Aggiornamenti» per lo staff
Tecnologie
Come è fatto
Sotto il cofano.
Il gestionale copiato dentro Supabase, un CRM in Next.js costruito sopra, e un sito Astro che rimanda a dove si prenota e si paga davvero. Lo stesso impianto nato per Athlon, portato qui.
L’architettura, a strati
I pezzi, uno per uno
Astro + MDX
Il sito
Blog e pagine dei corsi scritti in MDX, immagini ottimizzate al momento della build: la home è passata da 45,49 MB a 4,93 MB.
La copia del gestionale
Tutto PerfectGym, in casa
Le Edge Functions scaricano l’API di PerfectGym entità per entità, con un cursore: se si interrompe, riparte da dove era. I webhook tengono il dato fresco. Primo download: 1,4 milioni di righe in 24 minuti.
Le regole nel database
Numeri che non cambiano a seconda di chi li guarda
Cos’è un abbonamento, un rinnovo, una prova: definito una volta in funzioni SQL. Dashboard e CRM leggono le stesse regole.
Da Airtable al CRM
Migrazione senza fermo
Il CRM su Airtable è stato portato nel database e, per tutto il passaggio, tenuto sincronizzato in automatico: nessun giorno di stop per lo staff.
Lead automatici
Nessuno ricopia
Moduli del sito e Lead Ads di Meta entrano nel CRM con il consulente assegnato, e l’anagrafica nasce anche su PerfectGym.
In numeri
Hai un processo simile?
Parliamone→