Compare commits

...

26 Commits

Author SHA1 Message Date
Adriano 11452ea7a7 Blog: numeri delle tematiche fra parentesi
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 17:21:18 +02:00
Adriano d8862ba8ec Blog: numero di articoli accanto a ogni tematica
I filtri non dicevano dove ci fosse materiale: si sceglieva una categoria
per scoprirla vuota. Ora ognuna porta il proprio conteggio, cestino e
bozze esclusi, e il numero si aggiorna insieme ai filtri quando si cambia
tematica senza ricaricare.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 17:16:39 +02:00
Adriano b7f4a7948c Blog: venti articoli divulgativi tratti dal corso base del Campus
Dieci articoli tecnici a firma Nicola Antonelli e dieci contenuti
educativi a firma Donata Dal Pastro, ricavati dalle lezioni del corso
base: sonno, movimento, proteine, freddo, respirazione, luce, recupero,
dati, alimentazione e salute del cervello. Taglio breve e concreto, per
chi frequenta la palestra e tiene alla salute senza essere del mestiere.

Gli articoli arrivano da uno script versionato invece che dal pannello,
perché il database in produzione è un volume del VPS e non viene toccato
dal deploy: creati a mano in locale sarebbero rimasti in locale. Lo script
salta gli slug già presenti, quindi si può rieseguire senza danni.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 17:10:43 +02:00
Adriano 5590a552cc Campus: allineate le 49 Q&A mancanti e corretto il percorso del sorgente
Il progetto Biohacking Campus è stato spostato in Wasabi-Adp-Work, mentre
sync-campus puntava ancora al vecchio percorso, ormai vuoto: da lì in poi
nessun aggiornamento è più arrivato. Il capitolo Q&A si era fermato alla
numero 35, mentre nel progetto ne esistono 84.

Ora la sezione conta 167 guide invece di 118. L'elenco dei Q&A è
rigenerato per intero dal filesystem, in ordine di numero, così il prossimo
allineamento è una sola riga di script.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:53:57 +02:00
Adriano 770073c45c Blog: cambio categoria e pagina senza ricaricare tutto
Ogni clic su una categoria ricaricava l'intera pagina, header e hero
compresi, con lo sfarfallio che ne consegue. Ora si scarica la stessa
pagina e si sostituiscono soltanto la griglia e i filtri, con una breve
dissolvenza; l'indirizzo resta corretto e avanti/indietro funzionano.

I link restano link veri: senza JavaScript, o se la risposta non ha la
forma attesa, la navigazione avviene come prima.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:51:37 +02:00
Adriano 6a97a98325 Articoli: cestino con ripristino, e azioni a icona come in Utenti
Eliminare un articolo non lasciava nulla di recuperabile: ora la riga
finisce nel cestino (colonna deleted_at, aggiunta anche ai database già
esistenti) e sparisce da sito e pannello, ma resta ripristinabile dalla
nuova pagina /admin/cestino, dove sta anche la cancellazione definitiva.
L'API la accetta solo su articoli già cestinati, così il contenuto non si
perde per un clic distratto.

Ogni lettura pubblica — elenco, recenti, archivio per mese, pagina del
singolo articolo — filtra il cestino, e chi non gestisce vede nel cestino
soltanto i propri articoli.

Le azioni di riga diventano icone (matita e cestino) come nell'elenco
utenti, con etichetta accessibile che nomina l'articolo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:47:27 +02:00
Adriano 59d6246c77 Utenti: pannello password, ruolo come pillola e azioni a icona
Le due azioni di riga diventano icone (chiave e cestino) con etichetta
accessibile: pesavano quanto il contenuto della tabella. Il ruolo smette
di essere il menu a tendina di sistema e prende la forma di una pillola
colorata per livello, restando un <select> che salva al cambio.

La chiave apre un pannello dove la password si può scrivere a mano oppure
far generare: l'endpoint accetta ora una password scelta, con lo stesso
minimo di otto caratteri della creazione, e continua a restituirla in
chiaro una volta sola perché nel database ne resta solo l'hash. Il valore
si copia con un pulsante invece che dal prompt del browser.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:38:18 +02:00
Adriano 15924544b4 Utenti: creazione su pagina dedicata, come per gli articoli
L'elenco aveva il modulo di creazione appiccicato sopra la tabella: ora
c'è il pulsante "+ Nuovo utente" che porta a /admin/users/new, dove il
modulo ha spazio per etichette vere e per spiegare cosa comporta ogni
ruolo. A creazione avvenuta si torna all'elenco.

Nel menu la voce "Sito" diventa "Vai a sito", più esplicita sul fatto che
porta fuori dal pannello.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:30:53 +02:00
Adriano 03510d3940 Area riservata: menu essenziale e veste grafica del sito
Il menu in alto si riduce alle voci che servono davvero — Articoli,
Contenuti, Utenti, Sito, Esci — con la voce corrente evidenziata; ognuna
resta visibile solo a chi ha il ruolo per aprirla, e in pagina di login la
barra mostra il solo marchio. "Nuovo" esce dal menu perché il pulsante per
creare un articolo è già in cima all'elenco Articoli.

Il pannello smette di essere un foglio di stile a sé: adotta i font e la
palette del sito, come Campus e Stress Index, con tabelle, pulsanti, campi
e pillole di stato riportati allo stesso linguaggio.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:28:35 +02:00
Adriano 8207627425 Porta la promo agosto nel branch piattaforme, per vederle insieme in locale
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:24:02 +02:00
Adriano 3cda76b4c4 Stress Index: Analytics e Sport rifatti sulle viste reali
Le due sezioni erano ferme al prototipo locale, più povero della
piattaforma vera. Analytics ha ora l'intervallo di date, i KPI con la
nota sotto il valore, la distribuzione dello score a quattro serie per
fascia, le classifiche per recupero medio col numero di misurazioni e il
confronto segmenti con selettore di dimensione. Sport diventa Dashboard,
Sessioni con filtri atleta/periodo/sport e schede atleta con carico e
tendenza.

I numeri non sono più costanti scritte a mano: si calcolano dai dati nel
periodo scelto. La logica sta in lib/stress-index/analytics.ts e sport.ts,
coperta da test — che hanno subito trovato uno slittamento delle settimane
dovuto alle date costruite in ora locale invece che in UTC.

Le sessioni hanno ora ora di inizio, HR max, RPE e durata al secondo, che
il prototipo non prevedeva.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:20:40 +02:00
Adriano c4eb598a3a Piattaforme riservate: ruolo dedicato e port della dashboard Stress Index
Il ruolo `campus` diventa `piattaforme` e non apre più solo la sezione
Biohacking: copre tutte le aree riservate, con migrazione guardata sugli
utenti esistenti. Nell'header la vecchia voce Biohacking lascia il posto a
un menu Piattaforme con i due link, visibile solo a chi ha il ruolo, e
/piattaforme diventa la pagina di atterraggio.

Stress Index è portata dentro il sito: le nove viste dell'area
professionisti diventano pagine Astro sotto /piattaforme/stress-index,
con lo stile del sito al posto del design system del prototipo. React
resta solo dove serve davvero — grafici recharts e scheda cliente — il
resto è Astro con un filo di JS. I dati sono ancora quelli dimostrativi,
raccolti in lib/stress-index/data.ts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 15:49:47 +02:00
Adriano 78a920b4e2 Promo agosto 2026: nuovi prezzi, validità 1-19 agosto e countdown
Prezzi aggiornati (One to One 200, Small Group 125, Reformer 115,
Holistic 75) con migrazione guardata sul vecchio valore, così le righe
già ritoccate dal pannello non vengono sovrascritte. I barrati restano
invariati. Nota di validità con la finestra 1-19 agosto e countdown alla
scadenza sopra le card: la deadline è un tag editabile, il blocco si
nasconde da solo quando la promo è finita.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 15:36:27 +02:00
Adriano e8e24e086b Merge: sezione Biohacking riservata agli utenti abilitati
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 17:41:53 +02:00
Adriano 2f0df9c92c Link alla gestione utenti nella sidebar del Biohacking
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 17:21:32 +02:00
Adriano f534263c9c Rimuove il limite di tentativi dal login
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 16:57:59 +02:00
Adriano 6b00b2cb28 Il logout riporta alla home del sito
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 16:47:21 +02:00
Adriano d8579c0a59 Accesso al Biohacking dal menu del sito e dal login pubblico
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 16:43:46 +02:00
Adriano 98beccb0cd Rinomina in Biohacking le etichette visibili della sezione
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 15:47:47 +02:00
Adriano c4107b84a5 Sezione Campus: layout dedicato, route protette e documentazione
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 15:40:07 +02:00
Adriano 7baebebc09 Script sync-campus: importa le guide del corso in campus-content/
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 15:30:59 +02:00
Adriano a7d918d241 Ruolo campus: accesso limitato a /campus, landing dedicata
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 15:26:35 +02:00
Adriano 20f7cf4003 Spec: sezione campus riservata con ruolo dedicato
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 15:25:21 +02:00
Adriano 669fd2978f Hero one-to-one: titolo "Personal Training" separato dall'H2
Campo opzionale Service.heroTitle: l'hero (H1) di /services/one-to-one
mostra "PERSONAL TRAINING" mentre H2/card restano "One to One" (tag
condiviso service.one-to-one.title invariato). Nessuna migrazione DB.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 08:54:59 +02:00
Adriano b17b5c831a Fix contatti + rinomina servizi + orario sabato
- Contatti: rate-limit per IP reale (X-Forwarded-For) invece dell'IP del
  proxy Traefik, condiviso da tutti; controllo spostato dopo la validazione
  così bot/honeypot non consumano la quota. Honeypot rinominato da "website"
  a "hp_field" per non farlo riempire dall'autofill del browser (falsi 400).
- Servizi: "Performance Class" -> "Class" (titolo/card/H1/footer); migrazione
  DB invertita e guardata.
- One to One: migrazione titolo prod "Personal training" -> "One to One".
- Footer: orario sabato 8-17 (non 8-19), seed + migrazione guardata.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 17:58:26 +02:00
Adriano 22c9cadb43 Migrazione: rimuove i tag orfani training.performance-class.*
Il riquadro training "performance-class" è stato rimosso dal seed nel commit
9966ec3, ma i suoi 5 tag restavano nei DB esistenti come orfani non
renderizzati (uno con un edit errato dell'editor, "Holistic Class"). Aggiunge
una DELETE idempotente per l'intero gruppo; il seed non li reinserisce
(trainings.ts non ha più questo id). Verificata su copia del DB prod: 5 -> 0
orfani, riquadri validi e 39 edit reali del pannello intatti.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 00:16:52 +02:00
339 changed files with 45012 additions and 375 deletions
+2
View File
@@ -14,6 +14,8 @@ COPY package.json package-lock.json ./
RUN npm ci --omit=dev && npm cache clean --force
COPY --from=build /app/dist ./dist
COPY scripts ./scripts
# Contenuti della sezione Campus (generati con `npm run sync-campus` e committati)
COPY campus-content ./campus-content
ENV HOST=0.0.0.0 \
PORT=4321 \
+21 -8
View File
@@ -26,7 +26,8 @@ Il sito è costruito su **Astro 7** in modalità server (SSR) con adapter **Node
- **Contenuti taggati**: ogni testo/immagine ha un tag (es. `home.hero.title-line-1`) modificabile dal pannello o in pagina.
- **Modifica inline**: chi ha i permessi può attivare l'overlay dei tag e modificare i contenuti direttamente mentre naviga il sito.
- **Blog** con editor TipTap, immagini caricate, firma autore e proprietà degli articoli per ruolo.
- **Gestione utenti** con tre ruoli (`admin`, `superuser`, `user`).
- **Gestione utenti** con quattro ruoli (`admin`, `superuser`, `user`, `campus`).
- **Campus**: sezione riservata con le guide di studio del corso Biohacking Campus, accessibile solo dopo il login e con navigazione autonoma.
- **Form contatti** con validazione, honeypot antispam, ratelimit e invio email via SMTP.
## Installazione (sviluppo)
@@ -53,7 +54,8 @@ Il database `data/insanitylab.db` viene creato al primo avvio ed è popolato aut
| `npm run preview` | Anteprima locale della build |
| `npm run start` | Server di produzione (`node --env-file=.env`) |
| `npm run test` | Test con Vitest |
| `npm run create-user` | Crea/aggiorna utente: `-- <nome> <password> [admin\|superuser\|user]` |
| `npm run create-user` | Crea/aggiorna utente: `-- <nome> <password> [admin\|superuser\|user\|campus]` |
| `npm run sync-campus` | Rigenera i contenuti del Campus: `-- <path-progetto-biohacking-campus>` |
## Gestione contenuti
@@ -69,31 +71,41 @@ Il seed dei contenuti è in `src/data/content-seed.ts`; le variazioni sui conten
## Ruoli e accessi
Tre ruoli, con autorizzazione a matrice di prefissi in `src/lib/auth.ts`:
Quattro ruoli, con autorizzazione a matrice di prefissi in `src/lib/auth.ts`:
| Ruolo | Può fare |
|-------|----------|
| `admin` | Tutto: contenuti, blog, upload, **gestione utenti** (`/admin/users`) |
| `admin` | Tutto: contenuti, blog, upload, **gestione utenti** (`/admin/users`), Campus |
| `superuser` | Pannello contenuti + blog |
| `user` | Solo i **propri** articoli del blog |
| `campus` | Solo la sezione riservata `/campus`; nessun accesso al pannello |
Login pubblico su `/login` (`?next` sanitizzato contro open redirect). La gestione utenti (`/admin/users`, solo admin) consente creazione, reset password unatantum, cambio ruolo ed eliminazione, con guardie contro l'autoeliminazione e la rimozione dell'ultimo admin.
Login pubblico su `/login` (`?next` sanitizzato contro open redirect). Dopo l'autenticazione ogni ruolo viene indirizzato alla propria pagina iniziale: il pannello per admin e user, i contenuti per superuser, il Campus per il ruolo omonimo. La gestione utenti (`/admin/users`, solo admin) consente creazione, reset password unatantum, cambio ruolo ed eliminazione, con guardie contro l'autoeliminazione e la rimozione dell'ultimo admin.
## Campus (sezione riservata)
La sezione `/campus` raccoglie le guide di studio del corso Biohacking Campus. È protetta dal middleware come il pannello: un visitatore anonimo viene mandato al login, un utente con ruolo non abilitato torna alla propria pagina iniziale. Le pagine non montano l'header e il footer del sito — la navigazione avviene attraverso la barra laterale delle aree, con un unico richiamo per tornare alla home — ma usano i font, i colori e il CSS globale di InsanityLab.
I contenuti non vengono scritti a mano: lo script `npm run sync-campus` legge le guide sorgente (`*.studio.md`) dal progetto Biohacking Campus, le converte in frammenti HTML e produce la cartella `campus-content/` (indice `nav.json`, pagine e immagini delle slide), che va committata perché il deploy la copia nell'immagine Docker. Lo script è idempotente: rigenerarlo dopo l'aggiunta di nuove lezioni aggiorna indice e pagine e rimuove quelle non più presenti. Le nuove guide vanno prima dichiarate nella struttura dei capitoli in `scripts/campus/structure.mjs`.
Le immagini delle slide sono servite dalla route `/campus/assets/...`, anch'essa protetta: non sono raggiungibili senza una sessione valida.
## Struttura del progetto
```
insanitylab-website/
├── src/
│ ├── pages/ # Route Astro (vetrina, /admin, /api)
│ ├── pages/ # Route Astro (vetrina, /admin, /api, /campus)
│ ├── components/ # Componenti (home/, content/, Header, Footer, …)
│ ├── layouts/ # Layout Base
│ ├── layouts/ # Layout Base, Admin, Campus
│ ├── data/ # Dati statici + seed contenuti (services, trainings, site, content-seed)
│ ├── lib/ # db, auth, content, mailer, rate-limit, safe-next, env
│ ├── assets/img/ # Immagini ottimizzate da Astro
│ └── styles/ # global.css
├── data/ # SQLite (volume in produzione)
├── uploads/ # Upload immagini (volume in produzione)
├── scripts/ # create-user, smoke test
├── campus-content/ # Contenuti del Campus generati da sync-campus
├── scripts/ # create-user, sync-campus, smoke test
├── astro.config.mjs # Config Astro (site, allowedDomains, redirects)
├── compose.yaml # Stack Docker + label Traefik
├── Dockerfile # Build multi-stage
@@ -115,6 +127,7 @@ Il file `.env` (non versionato) richiede:
| `CONTACT_TO` | Destinatario dei messaggi del form |
| `DB_PATH` | Percorso del database SQLite |
| `UPLOADS_DIR` | Cartella degli upload |
| `CAMPUS_DIR` | Cartella dei contenuti del Campus (default `./campus-content`) |
La posta del dominio `@insanitylab.it` è ospitata su **Aruba**; l'invio del form usa l'SMTP autenticato Aruba (`smtps.aruba.it:465`). Aruba impone che il mittente sia la casella autenticata, quindi `CONTACT_FROM` deve essere uguale a `SMTP_USER`.
+8 -1
View File
@@ -1,9 +1,12 @@
import { defineConfig } from 'astro/config';
import node from '@astrojs/node';
import react from '@astrojs/react';
export default defineConfig({
site: 'https://insanitylab.it',
output: 'server',
// Dietro Traefik il TLS termina al proxy: senza allowedDomains Astro ignora
// X-Forwarded-Proto/Host e il checkOrigin CSRF respinge i POST (403).
// Dominio ufficiale insanitylab.it (canonico apex); www e il vecchio
@@ -15,7 +18,9 @@ export default defineConfig({
{ hostname: 'insanitylab.tielogic.xyz', protocol: 'https' },
],
},
adapter: node({ mode: 'standalone' }),
// La sezione "Programmi" è stata rinominata "Servizi": redirect permanenti dai vecchi URL.
redirects: {
'/programs': { status: 301, destination: '/services' },
@@ -26,4 +31,6 @@ export default defineConfig({
// "Personal Training" rinominato "One to One" (nuovo slug); Small Group è una pagina a sé.
'/services/personal-training': { status: 301, destination: '/services/one-to-one' },
},
});
integrations: [react()],
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 837 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

File diff suppressed because it is too large Load Diff
@@ -0,0 +1,136 @@
<h2>In sintesi</h2>
<p>Questo primo Accelerator inaugura un format mensile dedicato non alla parte tecnica del biohacking, ma allo sviluppo di business: come trasformare una competenza sull&#39;ottimizzazione fisica in un&#39;attività che genera reddito. Massimo Filippi chiarisce subito la filosofia dell&#39;incontro: gli studenti del campus devono ottenere risultati anche economici, perché nel mondo della salute i professionisti accumulano corsi e valore tecnico senza però riuscire a capitalizzarlo. Il filo conduttore della serata è uno solo, declinato caso per caso: partire dal bisogno profondo del cliente, non da ciò che si è o si sa fare. Rispondendo alle domande dei partecipanti, Massimo affronta la definizione della nicchia e della buyer persona, i tre bisogni che davvero muovono le persone (stanchezza, sonno, disturbi intestinali) più la leva del dolore per i terapisti manuali, la costruzione del &quot;meccanismo della soluzione&quot;, la scelta tra avviamento online e offline, l&#39;uso di lead magnet e open day, il tasso di no show e l&#39;importanza del follow-up. Passa poi alla comunicazione a due livelli (front-end orientato al problema, back-end orientato alla spiegazione tecnica), alla struttura e al prezzo della consulenza, alla logica di investire tempo oppure denaro, alla differenza tra un evento pensato per monetizzare e uno pensato per acquisire clienti, e alla regola di portare avanti un solo progetto alla volta. Il messaggio operativo ricorrente: comunicare il problema, non la tecnica; costruire sempre un&#39;offerta successiva; stare dietro alle persone; e testare tutto sui numeri.</p>
<h2>Concetti chiave</h2>
<ul>
<li><strong>Accelerator (hot seat)</strong>: format mensile in cui si analizza il progetto operativo di uno o più partecipanti, dando linee guida di business. Non è un momento tecnico (quello resta a lezioni, workshop e &quot;Tana del biohacker&quot;), ma un confronto continuativo nel tempo, in cui mese dopo mese si porta un aggiornamento e si riceve un feedback.</li>
<li><strong>Nicchia di mercato / buyer persona</strong>: la definizione precisa di chi è il cliente — età, professione, ambizioni, ma soprattutto il bisogno principale che lo spinge a muoversi. Il 90% dei partecipanti, secondo Massimo, non ha chiaro questo target ed è il primo errore da correggere.</li>
<li><strong>Comunicare il bisogno, non la tecnica</strong>: le persone non vogliono sapere che cosa fai (né capiscono termini come &quot;biohacker&quot; o &quot;coach del sonno&quot;), vogliono sapere come risolvi il loro problema. Va usato il linguaggio del problema percepito (&quot;ti aiuto a non svegliarti alle tre di notte&quot;), non quello tecnico-scientifico.</li>
<li><strong>Dolore o ispirazione</strong>: le persone agiscono per due motivi, ma chi si muove per ispirazione è meno del 10%. La maggioranza si muove per dolore: i contenuti e le offerte che convertono partono dal problema, non dai &quot;5 consigli per dormire meglio&quot;.</li>
<li><strong>Meccanismo della soluzione</strong>: un metodo di lavoro riconoscibile e diverso da tutto ciò che il cliente ha già provato (&quot;ho provato tutto, ma questo no&quot;). È ciò che dà valore percepito all&#39;offerta.</li>
<li><strong>Online vs offline</strong>: l&#39;online attira di più ma è lento, richiede competenze e quasi sempre budget pubblicitario; l&#39;offline è più veloce nell&#39;avviamento, richiede meno esperienza (ma più &quot;alzarsi e andare a parlare con le persone&quot;) ed è meno scalabile. Per partire da zero senza competenze digitali, Massimo consiglia l&#39;offline.</li>
<li><strong>Lead magnet</strong>: sistema di acquisizione gratuito (open day, primo check-up gratuito, analisi dello stress) che serve ad attrarre il contatto, sapendo già quale offerta proporre subito dopo.</li>
<li><strong>Front-end e back-end</strong>: due livelli di comunicazione. Il front-end è la prima cosa che il cliente vede, parla solo del problema e ha l&#39;unico scopo di portare a un&#39;azione (la call to action). Il back-end arriva dopo, nel rapporto uno-a-uno, e spiega in modo più tecnico come funziona il metodo.</li>
<li><strong>No show e follow-up</strong>: in un&#39;attività nuova il tasso di persone che prenotano e non si presentano supera il 30%. Le persone vanno &quot;seguite&quot; (chiamate, ricordate, accompagnate): senza questo lavoro di attrazione e presidio nessuno si muove.</li>
<li><strong>Componenti del prezzo</strong>: il prezzo nasce da tre fattori — emotivo (la motivazione all&#39;acquisto, la parte più forte), funzionale (l&#39;utilità concreta percepita) e opzionale (quante cose/opzioni si ricevono). Va trovato lo &quot;sweet spot&quot; testando più prezzi.</li>
<li><strong>Tempo o denaro</strong>: due strade per avviare. Poche risorse economiche = tanto tempo investito (girare, comunicare, produrre contenuti); poco tempo = uso di acceleratori a pagamento (advertising, una segretaria che fissa gli appuntamenti). L&#39;equilibrio dipende dalla situazione di partenza.</li>
<li><strong>Obiettivo dell&#39;evento</strong>: un evento a pagamento monetizza e profila i partecipanti; un evento gratuito è un investimento sull&#39;acquisizione. Sbagliare a definire l&#39;obiettivo iniziale porta a valutare male il risultato.</li>
<li><strong>Un progetto alla volta</strong>: chi lavora e ha tempo limitato dovrebbe avviarne uno solo, portarlo a regime e delegarlo, poi passare al secondo.</li>
</ul>
<h2>Sviluppo della sessione</h2>
<h3>Apertura: che cos&#39;è l&#39;Accelerator e le regole della casa</h3>
<p>Massimo apre spiegando la natura di questo nuovo ciclo di incontri. L&#39;Accelerator è un appuntamento mensile — molto probabilmente il martedì sera alle 20:30, con la possibilità di aggiungerne altri o farne anche di mattutini se servirà — in cui si analizza il progetto di business di uno o più iscritti e si dà una linea guida operativa. La base è la sua esperienza da imprenditore nel settore della salute e da fondatore di start-up (è alla quarta). Ci tiene a un punto: vuole che l&#39;Accelerator diventi un confronto dinamico e continuativo, in cui i partecipanti portano un aggiornamento, ricevono un&#39;indicazione, la applicano e il mese successivo tornano con il feedback. Racconta che questo stesso modello è stato ciò che lo ha aiutato di più quando è partito nel 2020: una volta al mese si confrontava con dieci-quindici persone (è lì che conobbe una persona di cui riporta l&#39;aneddoto), portava quello che aveva fatto e riceveva consigli; piccoli dettagli — come alzare l&#39;investimento pubblicitario su Facebook da 20 a 200 euro al giorno visti i risultati — hanno fatto la differenza.</p>
<p>Le regole della casa: qui si parla solo di business e sviluppo di progettualità, mai di parte tecnica; ognuno ha un paio di minuti per non monopolizzare la sessione; chi vuole un confronto privato può richiedere una consulenza a parte. Il senso ultimo dell&#39;incontro è dichiarato senza giri di parole: nel mondo della salute i professionisti sono spinti a fare corsi su corsi che aumentano il loro valore tecnico, ma questo valore non è proporzionale al valore economico percepito. Massimo non vuole che l&#39;accademia di biohacking diventi &quot;l&#39;ennesimo bellissimo corso tecnico&quot; che porta valore ma che nessuno capitalizza.</p>
<h3>La prima domanda: partire da zero (target e nicchia)</h3>
<p>Un partecipante chiede come raggiungere i clienti, online e sul territorio, partendo da zero e avendo già una professione attuale che non riguarda la salute. Massimo individua due ostacoli: la mancanza di autorevolezza in un settore nuovo e la mancanza di chiarezza sui primi passi. La risposta apre subito il tema centrale della serata. La prima domanda a cui rispondere è: a quale target ci si rivolge? Il primo problema del 90% dei partecipanti — dice, guardandoli online — è non avere chiaro il target specifico, inteso come il bisogno principale che spinge il cliente a rivolgersi a loro. Serve definire la nicchia (chi è il cliente, quanti anni ha, qual è il suo bisogno), cioè la buyer persona.</p>
<p>Da qui, alcuni miti da sfatare. Primo: &quot;biohacker&quot; non è una professione compresa dalle persone; dirlo non comunica nulla. Secondo: le persone non vogliono che tu parli di che cosa fai, vogliono che parli di come risolvi il loro problema. Chi si presenta come &quot;coach del sonno&quot; non viene capito; chi dice &quot;aiuto le persone a risolvere l&#39;insonnia, ad addormentarsi, a non svegliarsi ogni notte alle tre&quot; viene capito immediatamente.</p>
<h3>I bisogni che davvero muovono le persone</h3>
<p>Massimo fornisce una mappa dei bisogni su cui un esperto di ottimizzazione fisica può costruire. Il più grande è la <strong>stanchezza</strong>: la maggior parte delle persone la percepisce, cronica o no, come calo di energia con l&#39;avanzare dell&#39;età, ed è uno dei sintomi che più spinge a intraprendere un percorso. Il secondo è il <strong>sonno</strong>: tema molto sentito e ottimo per farsi conoscere, ma difficile da monetizzare perché in pochi sono disposti a spendere per sistemarlo. Il terzo è quello dei <strong>problemi intestinali</strong> (gonfiore, disbiosi, stitichezza): non serve essere medici per parlarne, e c&#39;è tutto un tema olistico collegato — nervo vago, stress — affrontabile senza atti medici.</p>
<p>Attenzione a due bisogni &quot;insidiosi&quot;. Lo <strong>stress</strong> non è percepito direttamente: le persone o si dichiarano stressate senza sapere cosa significhi, o negano di esserlo pur vivendo uno stress cronico; è quindi difficile da usare come leva comunicativa diretta. Il <strong>dolore</strong>, invece, è la leva più potente in assoluto, ed è il grande vantaggio di chi ha un&#39;attività manuale (fisioterapisti, osteopati, massaggiatori): il dolore muove le persone come nient&#39;altro. Da qui la regola: le persone agiscono per dolore o per ispirazione, ma chi si muove per ispirazione è meno del 10%. Ecco perché i contenuti &quot;ispirazionali&quot; (i 5 consigli per dormire meglio) non convertono, mentre &quot;come ti risolvo il risveglio notturno&quot; sì.</p>
<h3>Il meccanismo della soluzione</h3>
<p>Definito il target, si crea un metodo di lavoro proprio — una consulenza, un modello digitale, una visita iniziale con pacchetto di consulenze — ma soprattutto quello che Massimo chiama il <strong>meccanismo della soluzione</strong>: un modello che nella testa del cliente suoni come &quot;ho provato di tutto, ma questa cosa no&quot;. L&#39;esempio: chi non dorme ha provato pastiglie e rimedi vari, ma non ha provato &quot;quel metodo lì&quot;; oppure chi ha fatto tutte le diete possibili e si sente proporre una dieta a cui non aveva pensato. Il meccanismo della soluzione è ciò che rende l&#39;offerta diversa e credibile, e a quel meccanismo deve corrispondere una reale risoluzione del problema.</p>
<h3>Online o offline: da dove partire</h3>
<p>Ci sono due modelli per divulgare il proprio meccanismo. L&#39;<strong>online</strong> attira di più ed è più facile da iniziare (bastano un po&#39; di spigliatezza e qualche video), ma è lento se non ci si mette budget, richiede competenze specifiche di comunicazione e advertising, e funziona molto meglio se si mette la faccia (il personal brand è sempre più forte di un nome inventato). Massimo porta l&#39;esempio dello studio odontoiatrico della moglie (profilo Instagram citato come &quot;gmsmile&quot;): pubblica ogni giorno con costanza, ma dalla sola pubblicazione organica sono arrivate due persone; i 35 nuovi appuntamenti del mese vengono dal traffico a pagamento gestito da lui. Fare advertising bene richiede expertise: budget definito (nell&#39;esempio, circa 750 euro al mese), azioni note, ritorno misurato, KPI sotto controllo. Chi parte online non deve aspettarsi risultati in 1-3 mesi senza una strategia organica e pubblicitaria ben costruita (pubblicare ogni giorno, fare storie, avere una logica di call to action).</p>
<p>Per questo Massimo consiglia quasi sempre di iniziare <strong>offline</strong>: più veloce nell&#39;avviamento, richiede meno esperienza (a parte &quot;alzarsi e andare a parlare con le persone&quot;) e un minimo di strategia organizzativa; è meno scalabile, ma permette di avviare l&#39;attività. Prima però va definito cosa significa &quot;avviare&quot;: guadagnare 500 euro al mese o 2000? Bisogna darsi un tetto iniziale e un obiettivo di sopravvivenza (ad esempio 1500 euro al mese per un certo numero di mesi). Per raggiungere in fretta quella cifra, partendo da zero e senza competenze online, la via più rapida è l&#39;offline. Il punto vale per chiunque lanci un progetto nuovo, anche il chirurgo più famoso: Massimo cita la propria consulenza per una storica struttura alberghiera di lusso, che pur non avendo problemi di clientela fatica a sviluppare il biohacking al suo interno, semplicemente perché ogni progetto nuovo è di fatto una start-up e richiede un certo tipo di &quot;trazione&quot;.</p>
<h3>Acquisizione offline: lead magnet, open day, HRV</h3>
<p>Muoversi offline significa partire dal target scelto e andare da chi ha già un contatto con le persone: nutrizionisti, personal trainer, fisioterapisti, medici di medicina funzionale, erboristerie, farmacie, palestre, centri estetici. Ci si presenta con una brochure o una presentazione e un&#39;offerta d&#39;ingresso, che di solito deve essere gratuita: il <strong>lead magnet</strong> — un open day, un primo check-up gratuito, un&#39;analisi dello stress gratuita — consapevoli che dopo quella cosa deve succedere qualcos&#39;altro (una prima offerta). Evitando la parola &quot;biohacking&quot; (che non viene capita) e parlando invece di ottimizzazione fisica, benessere, problemi di sonno.</p>
<p>Un esempio concreto: proporsi in palestra con un open day di crioterapia. Non basta portare la vasca e &quot;fare la crio&quot;. Serve un modulo di iscrizione con nome e numero; prima della crio si fa sempre l&#39;HRV, che Massimo ribattezza &quot;stress test&quot; perché &quot;HRV&quot; non dice nulla al cliente; se lo stress test rileva uno stress cronico, si fissa già una consulenza gratuita di approfondimento (&quot;ti spiego meglio questa analisi, sono uscite delle cose&quot;). Dopo la crio si raccoglie il feedback e si porta la persona in consulenza — non serve che paghi subito, all&#39;inizio conta avviare. E in consulenza bisogna sapere già cosa proporre: un check-up, un percorso pratico a X euro, un percorso mensile, un ibrido. Nel suo centro, quando arriva una persona, Massimo sa già cosa proporre (crioterapia, un pacchetto interno, un mese di percorso). L&#39;errore più frequente è fare la serata per &quot;parlare&quot; senza nemmeno raccogliere i contatti e senza un&#39;offerta successiva: &quot;una volta era così, adesso non funziona più&quot;.</p>
<h3>No show e follow-up: seguire le persone</h3>
<p>Massimo insiste su un dato di mercato: in un&#39;attività nuova il tasso di no show (persone che prenotano e non si presentano) supera quasi il 30% — uno su tre. Accade in tutti i settori della salute, e in forme minori ovunque: le compagnie aeree hanno circa il 12% di no show (per questo fanno overbooking), gli eventi il 18% (al proprio Biohackers World hanno venduto quasi il 20% di biglietti in più rispetto ai posti). La conseguenza operativa: le persone vanno seguite, in senso buono — accompagnate, ricordate, aiutate a capire il valore del percorso. Chi organizza qualcosa deve starci dietro: chiamare il giorno dopo, fissare, richiamare. È il lavoro di attrazione e presidio che nel 2025 (e sempre di più) determina il successo.</p>
<h3>Bisogno prima del target: il caso della coach del respiro</h3>
<p>Una partecipante, personal trainer che vuole attivarsi come &quot;coach del respiro&quot;, chiede se debba scegliere un target specifico (atleti amatoriali, agonisti, imprenditori) o possa tenerli insieme. Massimo rovescia la domanda: non &quot;chi è il tuo cliente&quot; per categoria, ma &quot;che problema risolvi&quot;. Emerge che il bisogno comune è migliorare concentrazione ed energia — per l&#39;atleta come per l&#39;imprenditore. La sintesi proposta: &quot;aiuto le persone ad aumentare la loro concentrazione ogni giorno, tramite il respiro e l&#39;allenamento&quot;, racchiuso in un metodo proprio (allenamento + tecniche di respirazione + coaching). Il principio: è più facile lavorare sul bisogno che sul target, perché il target giusto (anche la signora che non è imprenditrice ma vuole più attenzione) si avvicina di conseguenza. La scrematura del cliente si fa dopo — con la visita iniziale, e correggendo eventualmente le parole e il tono della comunicazione — non verticalizzando troppo dall&#39;inizio, perché più si restringe il target più cresce l&#39;investimento richiesto di tempo, denaro e attenzione. &quot;Sono X, aiuto le persone ad avere più energia&quot; costa molto meno di &quot;aiuto gli imprenditori a...&quot;.</p>
<h3>Front-end e back-end: il caso del centro estetico</h3>
<p>Una partecipante ha inserito le proprie consulenze in un centro estetico (e sulla piattaforma di prenotazione di servizi estetici Treatwell) usando un linguaggio troppo tecnico-scientifico: nomi come &quot;consulenza di longevità estetica&quot;, &quot;detox cellulare&quot;, &quot;gestione dello stress&quot;, descrizioni fitte di termini come &quot;rigenerazione cellulare, equilibrio ormonale, gestione infiammatoria&quot;. Massimo corregge: il problema non è che sia &quot;troppo scientifico&quot;, è che non dice cosa risolve. Nessuno cerca &quot;detox cellulare&quot; o &quot;longevità estetica&quot;: la persona sente di essere gonfia, stanca, di avere la pelle spenta, di essersi &quot;scrofanata&quot; e di aver bisogno di &quot;pulirsi&quot;. La comunicazione va agganciata a quel vissuto: &quot;hai notato che negli ultimi cinque anni la tua pelle è cambiata? Potrebbe essere un invecchiamento precoce che non dipende solo da ciò che metti fuori, ma da ciò che succede dentro. Con la nostra consulenza andiamo a capire l&#39;origine&quot;.</p>
<p>Da qui la distinzione dei due livelli. La <strong>comunicazione di front-end</strong> è la prima cosa che il cliente vede: parla solo del problema e di ciò che le persone vogliono, e ha l&#39;unico scopo di portare a un&#39;azione — la classica call to action (prenotare una consulenza, scaricare un ebook, acquistare). La <strong>comunicazione di back-end</strong> arriva dopo, quando si è instaurato un rapporto uno-a-uno: solo lì si spiega, con un linguaggio un po&#39; più tecnico, come funziona il metodo, come lavora il corpo, perché è comparso quel problema. Nel front-end non si parla di detox né di meccanismi cellulari: si parla solo del problema.</p>
<h3>La consulenza: struttura, durata, vendita</h3>
<p>Sulla stessa domanda Massimo apre il tema della consulenza. La sua posizione: qualsiasi azione di front-end deve essere rivolta a un&#39;azione di vendita successiva; una consulenza fatta &quot;solo per incuriosire&quot; è una perdita di tempo (per incuriosire basta regalare un ebook). Se la consulenza è finalizzata a una vendita, per esperienza sotto i 45 minuti non si riesce, perché ci sono flussi di ragionamento da fare con la persona; lui si tiene sui 45 minuti-un&#39;ora (fino a un&#39;ora e un quarto se include test e spiegazione delle analisi), alcuni collaboratori arrivano a un&#39;ora e mezza-due ore. L&#39;azione resta tutta orientata a proporre qualcosa alla fine — restando etici: se il cliente non è &quot;educato&quot;/pronto non si forza la vendita, ma lo si indirizza comunque a un&#39;azione successiva.</p>
<p>Alla partecipante che aveva impostato consulenze da 30 minuti a 20 euro senza dare protocollo, Massimo consiglia di allungare i tempi e già indirizzare verso un&#39;offerta. Non c&#39;è una regola assoluta (far pagare o no la prima consulenza, dare o meno un mini-protocollo): va testato sul proprio mercato, ad esempio su 20 persone a pagamento e 20 gratuite, guardando cosa converte meglio — &quot;sono sempre i numeri che parlano&quot;. Aggiunge un metodo che usa lui stesso: ogni tanto fa pubblicità come fisioterapista senza usare il proprio brand, per capire come ragionano le persone e cosa converte senza sfruttare la propria autorevolezza. Nota anche il trade-off del pagamento: chi paga la prima consulenza è più propenso a riacquistare, ma se non si ha massa critica si rischiano numeri troppo bassi; il gratuito porta più persone ma con tasso di conversione più basso e più effort.</p>
<h3>Come si costruisce il prezzo</h3>
<p>Un partecipante chiede se una consulenza a 20 euro venga percepita come meno seria di una a 50. Massimo risponde che il tema prezzi è più complesso di quanto sembri, perché il prezzo dipende da tre componenti. Il <strong>valore emotivo</strong>: quanta motivazione ha l&#39;acquisto per la persona — ed è la ragione per cui insiste tanto sul partire dai problemi, perché lì si concentra la maggior parte del valore percepito. Il <strong>valore funzionale</strong>: l&#39;utilità concreta della cosa, che nelle consulenze è spesso bassa e va migliorata. Il <strong>valore opzionale</strong>: quante cose/opzioni si ricevono con l&#39;acquisto (l&#39;analisi della pelle, ulteriori valutazioni, ecc.). Nel personal brand l&#39;emotività è legata alla persona stessa. Occorre lavorare su tutte e tre le componenti e trovare lo sweet spot testando più prezzi e osservando come risponde il mercato.</p>
<h3>Tempo o denaro: su cosa investire</h3>
<p>A chi chiede su cosa investire all&#39;inizio, in tempo ed economicamente, Massimo indica due strade dipendenti dalla situazione di partenza. Chi non vuole investire denaro può farlo, ma deve investire tanto tempo: girare, parlare, comunicare, produrre contenuti, con una scaletta di programmazione chiara. Chi ha qualche migliaio di euro può usare <strong>acceleratori</strong>: la pubblicità su Facebook, oppure una segretaria che chiama e fissa gli appuntamenti. Va comunque valutato come si investe il tempo: se l&#39;advertising porta dieci lead al giorno, qualcuno deve richiamarli (un paio d&#39;ore al giorno), altrimenti serve una persona in più, che è un altro costo. È tutto un discorso di budgeting.</p>
<p>Massimo mostra la matematica dell&#39;online. Con un target ben definito e una buona comunicazione, un lead (una persona che &quot;alza la mano&quot;) costa in media circa 10 euro per un principiante (dai 3 ai 15; con più esperienza anche 2). Investendo 100 euro al giorno arrivano circa 10 contatti: 5 non rispondono, ai 5 rimanenti si propone qualcosa, se ne fissano 3, se ne converte 1. Se a quell&#39;uno si vende una visita da 100 euro, l&#39;acquisizione è costata quanto l&#39;investimento (spesa netta zero) ma si è ottenuto un cliente che potrà tornare a pagare. Il &quot;giochino&quot; però comporta 10 chiamate, cioè circa un&#39;ora-un&#39;ora e mezza al giorno di lavoro all&#39;inizio. Il consiglio pratico: trovare una collaborazione che permetta di sopravvivere e iniziare a giocare, poi reinvestire progressivamente anche sull&#39;online.</p>
<h3>Eventi: monetizzare o acquisire</h3>
<p>Una partecipante racconta due eventi organizzati con una collega (uno su &quot;sonno e recupero&quot; a 37 euro, uno di crioterapia a 97 euro per coprire i costi di vasche e ghiaccio), lamentando poche iscrizioni finora. Massimo dà diversi consigli. Primo: è normale, perché le persone si iscrivono negli ultimi tre-quattro giorni prima dell&#39;evento; da due iscritti si arriverà probabilmente a quindici-venti, ma vanno ricordati e sollecitati. Secondo: l&#39;evento va comunicato in modo pratico e poco &quot;teorico&quot; — non &quot;parliamo di recupero&quot; ma &quot;vieni che ti insegno una tecnica di respirazione per velocizzare il recupero&quot;; la gente non si muove per ascoltare una relazione teorica, si muove per imparare/fare qualcosa, e la parte teorica la si dà comunque una volta che le persone sono lì.</p>
<p>Il punto centrale, però, è l&#39;obiettivo dell&#39;evento. Se l&#39;obiettivo è <strong>monetizzare</strong> l&#39;evento stesso (e creare un format replicabile sul territorio, che costruisce brand), allora far pagare il biglietto è corretto e per di più profila i partecipanti, selezionando persone più in linea e interessate. Se invece l&#39;obiettivo è <strong>acquisire clienti</strong> per vendere dopo un percorso, allora l&#39;evento andava reso gratuito, come investimento sull&#39;acquisizione, mettendo a budget la spesa (esempio: 1000 euro per portare 30 persone, di cui convertirne 10 a 100 euro per recuperare l&#39;investimento). Sbagliare a definire l&#39;obiettivo iniziale porta a valutare male il risultato: &quot;saranno i numeri a dirci se è fatto bene&quot;. Massimo suggerisce anche di sfruttare il primo evento per creare riprova sociale — invitare amici per mostrare affluenza, raccogliere immagini e recensioni specifiche da usare nella pubblicità futura — trattandolo però come asset secondario rispetto all&#39;obiettivo primario di costruire autorevolezza. Alla partecipante che teme una sala vuota suggerisce, come rete di sicurezza, di regalare il biglietto ad alcuni clienti pochi giorni prima se le iscrizioni non decollano.</p>
<h3>Vendere percorsi, non singole sedute: il terapista manuale</h3>
<p>Un partecipante, terapista manuale, ha creato un protocollo (massaggio più fotobiomodulazione integrato con strategie che ha chiamato &quot;di ottimizzazione&quot; invece che &quot;biohacking&quot;), rivolto a chi vuole risolvere stanchezza, dolore e rigidità muscolari negli over 40, ma &quot;non lo caga nessuno&quot;: le persone prenotano solo il massaggio e nessuno è interessato al percorso. Massimo individua due nodi. Primo, la fonte da cui arrivano i clienti: se vengono da una comunicazione centrata sul massaggio, non ci si può aspettare che conoscano la parte del percorso; e proprio perché non sa da dove originano i suoi dati, non può dire se il metodo &quot;non funziona&quot; — l&#39;unico modo è testarlo con traffico a pagamento sui video specifici che parlano dello stile di vita e del percorso, per capire da dove viene davvero il cliente.</p>
<p>Secondo, il modello di vendita. Si tratta di vendita telefonica (quando la persona prenota) e di vendita in presenza (quando arriva). Già in fase di prenotazione deve essere chiaro che il terapista lavora in un certo modo; l&#39;ideale, per i terapisti manuali, è creare prima del primo massaggio una consulenza iniziale (&quot;io non lavoro così, prima faccio un&#39;analisi completa dello stile di vita&quot;). Se il cliente vuole solo il massaggio contratturante, è una scelta legittima accettarlo o rifiutarlo. Un modello che a Massimo funziona bene testandolo su di sé: fare il primo massaggio, poi regalare un ritorno per i soli test (&quot;sei molto stressata, ho un&#39;analisi dello stress che ti fa capire il sistema&quot;), e da lì proporre un percorso più strutturato. In un altro approccio, prima ancora di iniziare a massaggiare, offre due opzioni: un massaggio che finisce lì (magari se ne fanno 3-4), oppure andare all&#39;origine del problema lavorando su abitudini, stile di vita e infiammazione sistemica — con circa uno su tre che sceglie il percorso di biohacking, sempre partendo da una consulenza iniziale (l&#39;anamnesi).</p>
<h3>Un progetto alla volta: il caso dell&#39;osteopata</h3>
<p>Un partecipante osteopata descrive due progetti paralleli: da un lato un luogo fisico dove svolgere attività in presenza (che richiede trovare la sede e costruire un team), dall&#39;altro un format — che pensa di chiamare &quot;osteo-coaching&quot; — rivolto agli osteopati, con percorsi di monitoraggio e biohacking per ottimizzarne qualità della vita e prestazioni lavorative; quest&#39;ultimo potenzialmente anche interamente online. Massimo, appurato che il partecipante lavora e ha tempo limitato, è netto: sceglierne uno solo, partire con quello, portarlo a regime e poi passare al secondo. Farne due insieme significa farli male. Nel dettaglio, poiché il luogo fisico è già in parte avviato (ci sono già clienti e location), conviene partire ottimizzando quello — creando deleghe, procedure e team fino a poterlo delegare, riducendo così il proprio carico — e solo dopo lanciare l&#39;osteo-coaching, che ha più senso avviare dopo aver dimostrato che il metodo funziona sui clienti (un enorme vantaggio nel proporlo poi ai professionisti). In ogni caso, una cosa alla volta.</p>
<h3>Il target demografico reale del settore</h3>
<p>Rispondendo a una curiosità sul proprio target, Massimo lo descrive: cliente tra i 35 e i 55 anni, principalmente donna, libera professionista o autonoma, con tema principale la stanchezza, la percezione di un corpo cambiato/invecchiato e, molto sentito, la &quot;nebbia mentale&quot; (più che un calo di attenzione, una difficoltà a pensare con lucidità). Nota però una dinamica di mercato interessante: i servizi e i percorsi consulenziali attraggono più le donne, mentre i percorsi formativi (come l&#39;accademia di biohacking) e gli eventi tecnici attraggono più gli uomini. La proporzione varia molto con la comunicazione: parlando di invecchiamento il pubblico era prevalentemente femminile; aprendo l&#39;accademia è diventato più maschile. Il tipo di offerta e di comunicazione, quindi, determina il target che si attrae; chi parte deve scegliere un&#39;unica nicchia e una comunicazione coerente.</p>
<h2>Protocolli e azioni pratiche</h2>
<ul>
<li><strong>Definisci la nicchia e la buyer persona</strong> prima di ogni altra cosa: chi è il cliente, che età ha, e soprattutto qual è il bisogno principale che lo muove.</li>
<li><strong>Comunica il problema, non la tecnica</strong>: sostituisci termini come &quot;biohacker&quot;, &quot;coach del sonno&quot;, &quot;detox cellulare&quot;, &quot;longevità estetica&quot; con il vissuto del cliente (&quot;non ti svegli più alle tre&quot;, &quot;ti senti gonfio e stanco&quot;, &quot;la pelle è cambiata negli ultimi anni&quot;).</li>
<li><strong>Parti dal dolore o dal bisogno percepito</strong>, non dall&#39;ispirazione: i contenuti che convertono risolvono un problema specifico, non danno &quot;5 consigli&quot;.</li>
<li><strong>Costruisci un meccanismo della soluzione</strong> riconoscibile e diverso da ciò che il cliente ha già provato.</li>
<li><strong>Se parti da zero senza competenze digitali, inizia offline</strong>: presentazione/brochure, giro tra palestre, nutrizionisti, fisioterapisti, farmacie, erboristerie, centri estetici.</li>
<li><strong>Usa un lead magnet gratuito</strong> (open day, primo check-up, analisi dello stress) sapendo già quale offerta proporre subito dopo.</li>
<li><strong>Ribattezza i termini tecnici in chiave cliente</strong>: l&#39;HRV diventa &quot;stress test&quot;.</li>
<li><strong>Raccogli sempre i contatti</strong> a ogni evento/serata e abbi pronta un&#39;offerta successiva: senza, non si muove nessuno.</li>
<li><strong>Metti in conto un no show &gt;30%</strong> in un&#39;attività nuova e organizza il follow-up (chiamare, ricordare, richiamare).</li>
<li><strong>Separa la comunicazione front-end (solo problema → call to action) dal back-end</strong> (spiegazione tecnica nel rapporto uno-a-uno).</li>
<li><strong>Progetta la consulenza per portare a un&#39;azione di vendita</strong>; se è finalizzata alla vendita, prevedi almeno 45-60 minuti.</li>
<li><strong>Testa tutto sui numeri</strong>: prezzo (20 vs 50 euro), gratuito vs a pagamento, mini-protocollo sì/no, su campioni di persone; decidi in base alla conversione.</li>
<li><strong>Ragiona il prezzo su tre leve</strong>: emotiva, funzionale, opzionale; trova lo sweet spot testando.</li>
<li><strong>Scegli la strada tempo o denaro</strong> in base alla tua situazione: molto tempo e zero budget, oppure budget su acceleratori (advertising, segretaria) con meno tempo.</li>
<li><strong>Definisci l&#39;obiettivo di ogni evento prima di farlo</strong>: monetizzare (biglietto a pagamento, che profila) oppure acquisire (gratuito, investimento con budget e obiettivo di conversione).</li>
<li><strong>Sfrutta il primo evento per riprova sociale</strong>: affluenza, immagini, recensioni specifiche da usare nella pubblicità.</li>
<li><strong>Per i terapisti manuali</strong>: metti una consulenza iniziale prima del primo massaggio, o proponi due opzioni (singola seduta vs percorso), e rendi chiaro il tuo modo di lavorare già in fase di prenotazione.</li>
<li><strong>Non dire &quot;non funziona&quot; senza dati</strong>: testa con traffico a pagamento sui contenuti specifici per capire da dove arriva davvero il cliente.</li>
<li><strong>Porta avanti un solo progetto alla volta</strong>: avvialo, portalo a regime, delegalo, poi passa al secondo.</li>
<li><strong>Parti dal progetto già più avanzato</strong> e, se possibile, valida il metodo sui clienti prima di proporlo ai professionisti.</li>
</ul>
<h2>Glossario</h2>
<ul>
<li><strong>Accelerator (hot seat)</strong>: sessione mensile di coaching di business in cui si analizza il progetto di un partecipante e si danno linee guida operative.</li>
<li><strong>Buyer persona</strong>: descrizione dettagliata del cliente ideale (età, professione, bisogni, ambizioni) usata per orientare comunicazione e offerta.</li>
<li><strong>Nicchia di mercato</strong>: segmento specifico di clienti a cui ci si rivolge, definito soprattutto dal bisogno principale che li muove.</li>
<li><strong>Meccanismo della soluzione</strong>: il metodo/modello riconoscibile e differenziante che rende l&#39;offerta diversa da ciò che il cliente ha già provato.</li>
<li><strong>Lead</strong>: contatto interessato, una persona che &quot;alza la mano&quot; chiedendo di saperne di più.</li>
<li><strong>Lead magnet</strong>: sistema di acquisizione gratuito (open day, check-up gratuito, analisi dello stress) che attira il contatto in vista di un&#39;offerta successiva.</li>
<li><strong>Call to action</strong>: l&#39;azione che la comunicazione chiede di compiere (prenotare, scaricare, acquistare).</li>
<li><strong>Front-end (comunicazione)</strong>: primo livello comunicativo, centrato sul problema, il cui unico scopo è portare a un&#39;azione.</li>
<li><strong>Back-end (comunicazione)</strong>: secondo livello, nel rapporto uno-a-uno, in cui si spiega in modo più tecnico come funziona il metodo.</li>
<li><strong>No show</strong>: percentuale di persone che prenotano un appuntamento/evento e non si presentano.</li>
<li><strong>KPI (Key Performance Indicator)</strong>: indicatori numerici usati per misurare il ritorno delle azioni (es. costo per lead, tasso di conversione).</li>
<li><strong>Advertising / traffico a pagamento</strong>: pubblicità a pagamento (es. Facebook/Instagram) usata per generare lead in modo rapido e misurabile.</li>
<li><strong>Personal brand</strong>: identità professionale costruita sulla persona; secondo Massimo converte più di un nome/marchio inventato.</li>
<li><strong>HRV (Heart Rate Variability)</strong>: variabilità della frequenza cardiaca, indicatore dello stato di stress; comunicata al cliente come &quot;stress test&quot;.</li>
<li><strong>Sweet spot (di prezzo)</strong>: il livello di prezzo che massimizza valore percepito e conversione, individuato testando.</li>
<li><strong>Valore emotivo / funzionale / opzionale</strong>: le tre componenti che determinano il prezzo — motivazione all&#39;acquisto, utilità concreta, numero di opzioni ricevute.</li>
<li><strong>Acceleratore (di business)</strong>: leva che velocizza l&#39;avviamento a fronte di un costo (advertising, una figura che fissa gli appuntamenti).</li>
<li><strong>Fotobiomodulazione</strong>: tecnica basata sull&#39;uso della luce a fini terapeutici, citata come componente di un protocollo di trattamento.</li>
<li><strong>Riprova sociale</strong>: prova (affluenza, recensioni, immagini) che altre persone hanno già scelto/apprezzato il servizio, usata per aumentare la credibilità.</li>
<li><strong>Legge 4/2013</strong>: normativa italiana sulle professioni non organizzate in ordini o collegi, richiamata nell&#39;inquadramento della figura dell&#39;operatore del benessere.</li>
<li><strong>Osteo-coaching</strong>: format ipotizzato da un partecipante, percorso di monitoraggio e biohacking rivolto agli osteopati.</li>
</ul>
<h2>Domande affrontate</h2>
<ul>
<li>Come raggiungere i clienti, online e sul territorio, partendo da zero e con una professione attuale che non riguarda la salute?</li>
<li>Un personal trainer che si attiva come &quot;coach del respiro&quot; deve scegliere un target specifico (atleti, imprenditori) o concentrarsi sul bisogno? Come descriversi in una frase?</li>
<li>In un centro estetico, il linguaggio delle mie consulenze (&quot;longevità estetica&quot;, &quot;detox cellulare&quot;) è troppo scientifico? Come vanno rinominate e descritte?</li>
<li>La consulenza iniziale va fatta gratuita o a pagamento, e per quanto tempo? 30 minuti a 20 euro sono sufficienti?</li>
<li>Una consulenza a 20 euro viene percepita come meno seria di una a 50? Il prezzo cambia la percezione di valore?</li>
<li>Su cosa conviene investire all&#39;inizio, tempo o denaro?</li>
<li>Un evento (sonno/recupero a 37 euro, crioterapia a 97 euro) con poche iscrizioni: cosa non sta funzionando e conveniva farlo a pagamento o gratuito?</li>
<li>Un protocollo di massaggio + percorso di ottimizzazione non vende: le persone prenotano solo la singola seduta. Come portarle al percorso?</li>
<li>Avendo due progetti in parallelo (un luogo fisico e un format di osteo-coaching) e poco tempo, da quale partire?</li>
<li>Qual è il target reale del settore e perché servizi ed eventi attraggono generi diversi?</li>
</ul>
<h2>Da approfondire</h2>
<ul>
<li><strong>Buyer persona e definizione della nicchia</strong>: metodologie per profilare il cliente ideale a partire dal bisogno prima che dalla demografia.</li>
<li><strong>Meccanismo della soluzione (unique mechanism)</strong>: concetto di marketing a risposta diretta; approfondire come costruirne uno credibile e differenziante.</li>
<li><strong>Front-end / back-end e funnel di acquisizione</strong>: strutturare il percorso dal primo contatto (call to action) alla vendita del percorso.</li>
<li><strong>Advertising su Meta (Facebook/Instagram)</strong>: costruire una strategia organica + a pagamento, definire budget, misurare costo per lead e KPI (temi che Massimo rimanda a sessioni successive).</li>
<li><strong>Costruzione del prezzo (value-based pricing)</strong>: le tre leve emotiva/funzionale/opzionale e il test di più fasce di prezzo per trovare lo sweet spot.</li>
<li><strong>Gestione del no show e follow-up</strong>: tecniche di sollecito, promemoria e overbooking mutuate da settori con no show noto (aerei, eventi).</li>
<li><strong>Lead magnet e open day nel settore benessere</strong>: format di acquisizione gratuiti (check-up, analisi dello stress/HRV) e collegamento con l&#39;offerta successiva.</li>
<li><strong>HRV come strumento commerciale e di monitoraggio</strong>: uso dell&#39;analisi della variabilità cardiaca come &quot;stress test&quot; nell&#39;imbuto di vendita.</li>
<li><strong>Modelli di vendita per terapisti manuali</strong>: consulenza iniziale pre-trattamento e proposta a due opzioni (singola seduta vs percorso).</li>
<li><strong>Costruzione di un team e delega</strong>: procedure, deleghe e ottimizzazione di un&#39;attività fisica prima di avviarne una seconda.</li>
<li><strong>Legge 4/2013</strong>: inquadramento normativo della figura di operatore del benessere/consulente non sanitario.</li>
<li><strong>Riprova sociale e raccolta recensioni</strong>: strategie per generare materiale pubblicitario dai primi eventi.</li>
</ul>

Some files were not shown because too many files have changed in this diff Show More