← Tutte le idee Sport e benessere

7Running

Il piano di allenamento per la corsa, creato su misura dall'AI

Incasso mensile: 400 USD (fonte indicata nella scheda)

Cosa fa

L'utente indica il suo livello e l'obiettivo (5 km, 10 km, mezza maratona, una data di gara) e riceve un piano settimana per settimana, con gli allenamenti di ogni giorno.

Come guadagna

Ha entrate ricorrenti ogni mese, verificate su TrustMRR. Prezzi e piani esatti sono indicati sul sito del progetto.

Rendilo tuo

  • Collegalo alle gare italiane: scegli la tua maratona dal calendario e il piano si adatta alla data.
  • Piani per altri sport di resistenza: bici, nuoto, camminata veloce per chi inizia.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Corri Meglio": crea un piano di corsa settimana per settimana verso un obiettivo (5 km, 10 km, mezza maratona, una gara con data) con ritmi personalizzati, e lo adatta in base agli allenamenti fatti. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Pagina iniziale con un esempio di piano e prezzi
2. Registrazione e questionario: livello, tempo su 5 km se lo sai, giorni disponibili, obiettivo e data
3. Il piano della settimana con l'allenamento di oggi
4. Scheda dell'allenamento con riscaldamento, parte centrale e ritmi
5. Progressi e storico

Stile: sportivo e motivante: sfondo bianco, arancione #F97316, blu notte #1E293B, verde #22C55E per gli allenamenti fatti, carattere "Barlow", calendario a righe settimanali. Nessuna immagine generica di stock.

Tutto deve funzionare perfettamente da telefono. Tutti i testi in italiano, chiari e senza parole tecniche.

2. Database, account e sicurezza

Collega il progetto a Supabase e attiva la registrazione con email e password.

Crea queste tabelle:
- "corridori": livello, tempo sui 5 km, giorni disponibili, obiettivo, data della gara, uno per utente
- "settimane": numero, allenamenti in JSON con tipo, distanza o durata e ritmo
- "corse_fatte": allenamento, distanza, tempo, sensazione (da 1 a 5), note

Regole di sicurezza obbligatorie:
- ogni utente vede solo i suoi dati
- il piano non si modifica dal browser

Usa esattamente il codice SQL che trovi nei "Dettagli tecnici" di questa scheda: eseguilo nel SQL Editor di Supabase prima di continuare, poi collega le pagine alle tabelle.

3. Ritmi e piano

Dal tempo sui 5 km (o da una stima dal livello) si calcolano i ritmi di allenamento: facile, medio, soglia, ripetute, e il tempo previsto sulla distanza obiettivo con la formula di Riegel (codice nei Dettagli tecnici).

La Edge Function "piano" chiede a Claude il piano completo in JSON, settimana per settimana fino alla gara: aumento graduale (non oltre il 10% a settimana), una settimana di scarico ogni 3–4, e le ultime 1–2 settimane di riduzione prima della gara. Ogni allenamento ha riscaldamento, parte centrale con ritmi e defaticamento.

Avviso: "Se hai dolori o problemi di salute, parla con un medico prima di iniziare".

4. Adattare il piano

Dopo ogni corsa l'utente segna distanza, tempo e sensazione. Se salta due allenamenti o segna più volte "molto faticoso", alla fine della settimana il sito propone di alleggerire la settimana successiva (con una nuova richiesta a Claude).

Progressi: chilometri per settimana, ritmo medio sul facile, allenamenti completati in percentuale. Esportazione del piano nel calendario del telefono (file .ics).

5. Pagamenti con Stripe

Aggiungi un abbonamento a 4,99 € al mese. Gratis l'utente ha: piano di 2 settimane per i 5 km. Con il piano Pro sblocca: tutte le distanze, piano completo fino alla gara, adattamento automatico e calendario.

A pagamento riuscito il webhook porta l'utente al piano Pro; se l'abbonamento viene disdetto o non rinnovato lo riporta al piano gratuito.

Per la sessione di pagamento e il webhook segui la guida "Pagamenti con Stripe" di Fattibile.

6. Controlli specifici di questo progetto

Oltre ai controlli della guida "Controllo finale", verifica in particolare:
1. Sicurezza: crea un piano per una mezza maratona tra 5 settimane partendo da principiante: il sito deve avvisare che il tempo è troppo poco e proporre un obiettivo più adatto.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Ritmi e tempo previsto

Dal tempo sui 5 km calcola i ritmi di allenamento e prevede il tempo su altre distanze con la formula di Riegel (T2 = T1 × (D2/D1)^1,06).

// Tempo previsto su un'altra distanza (formula di Riegel)
export function tempoPrevisto(secondi5k: number, km: number): number {
  return secondi5k * Math.pow(km / 5, 1.06);
}

// Da secondi a "4:52 /km"
export const ritmo = (secondiAlKm: number) =>
  Math.floor(secondiAlKm / 60) + ":" + String(Math.round(secondiAlKm % 60)).padStart(2, "0") + " /km";

// Ritmi di allenamento indicativi, partendo dal ritmo gara sui 5 km
export function ritmiAllenamento(secondi5k: number) {
  const gara5k = secondi5k / 5;
  return {
    facile: ritmo(gara5k * 1.25) + " - " + ritmo(gara5k * 1.35),
    medio: ritmo(gara5k * 1.12),
    soglia: ritmo(gara5k * 1.05),
    ripetute: ritmo(gara5k * 0.97),
  };
}

// Esempio: 5 km in 25:00 -> 10 km previsti in circa 52:07, mezza in circa 1:55:00
// tempoPrevisto(1500, 21.0975) ≈ 6905 secondi

Istruzioni per l'AI: piano

La Edge Function che crea il piano. Nella "richiesta" il sito mette il profilo del corridore e i ritmi calcolati. Con l'abbonamento, al posto dei crediti si controlla il piano dell'utente. Il resto della funzione (accesso, crediti, rimborso se l'AI rifiuta) è uguale per tutti i progetti: è nella guida "Chiamare l'AI dal server".

Sei un allenatore di corsa. Crea un piano dalla data di oggi alla gara, adatto al livello, ai giorni disponibili e ai ritmi forniti. Regole: aumento del volume settimanale non oltre il 10%, una settimana di scarico ogni 3-4, riduzione nelle ultime 1-2 settimane, al massimo 2 allenamenti intensi a settimana. Se il tempo è troppo poco per l'obiettivo, dillo nel campo "avviso". Rispondi solo con JSON: {"avviso": null|"...", "settimane": [{"numero", "allenamenti": [{"giorno", "tipo", "riscaldamento", "parte_centrale", "ritmo", "defaticamento", "km_totali"}]}]}.

Pezzi comuni a tutti i progetti

Glossario

JSONB
Un tipo di colonna che contiene dati strutturati flessibili, come un piccolo documento.
Formula di Riegel
Una formula usata dai runner per prevedere il tempo su una distanza partendo da quello su un'altra.
Settimana di scarico
Una settimana più leggera per far recuperare il corpo e assorbire l'allenamento.