← Tutte le idee Sport e benessere

Steady

Un copilota in tasca per chi ha paura di volare

Incasso mensile: 3179 USD (fonte indicata nella scheda)

Cosa fa

App per iPhone che funziona senza internet e accompagna chi ha paura di volare, con esercizi e una previsione delle turbolenze sulla propria rotta.

Come guadagna

Gratis con acquisti: 5,99 $ a settimana, "Bravery Pass" di 72 ore a 11,99 $, 39,99 $ all'anno o 49,99 $ a vita. 223 abbonati, voto 4,7 su 5. Nata a giugno 2026. Incassi verificati con RevenueCat.

Rendilo tuo

  • In italiano, con la voce calma di un vero pilota o di una psicologa.
  • Per altre paure precise: dentista, guida in autostrada, esami.
  • Pacchetto da regalare a chi deve partire.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Volo Sereno": un'app per chi ha paura di volare: prima del volo spiega la rotta e le turbolenze previste, in volo funziona offline con respirazione guidata e spiegazioni di rumori e sensazioni. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Presentazione
2. Inserisci il tuo volo
3. Prima del volo: cosa aspettarsi e turbolenze previste
4. In volo: pulsante "Sto male" con respirazione
5. "Che rumore è?": spiegazioni dei suoni dell'aereo

Stile: calmo: sfondo azzurro polvere #E0F2FE, blu #1E40AF, carattere "Nunito", movimenti lenti e nessun colore allarmante. 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:
- "voli": utente, partenza, arrivo, data
- "contenuti": rumori e fasi del volo con testo e audio
- "diario": voli fatti e livello di ansia

Regole di sicurezza obbligatorie:
- ognuno vede solo i suoi voli e il suo diario
- contenuti e previsione vengono salvati sul telefono prima del decollo
- gli acquisti si verificano con RevenueCat

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. Previsione prima del decollo, tutto offline

Prima di partire si inserisce il volo: l'app calcola la rotta e scarica una previsione della turbolenza da dati meteo aeronautici pubblici (per esempio NOAA Aviation Weather). Mostra una linea con i tratti più e meno mossi, spiegata con calma.

Il linguaggio conta: mai promettere "non ci sarà turbolenza". Si spiega che la turbolenza è normale e l'aereo è progettato per affrontarla.

In volo non c'è internet: audio di respirazione e spiegazioni sono già scaricati. Non sostituisce un medico o uno psicologo; se l'ansia è forte l'app invita a parlarne con un professionista.

4. Che rumore è? e progressi

Elenco per fase del volo: "Il rumore dopo il decollo sono i carrelli che rientrano". Testi riletti da un pilota, così sono corretti.

Diario dei voli con il livello di ansia prima e dopo. Pass di 72 ore: si compra per un solo viaggio, come fa Steady.

5. Pagamenti con Stripe

Aggiungi un abbonamento a 3,99 € a settimana o 29,99 € all'anno. Gratis l'utente ha: respirazione guidata e 3 spiegazioni. Con il piano Pro sblocca: previsione sulla tua rotta, tutti i rumori e il diario.

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. Offline: scarica un volo, metti la modalità aereo e controlla che tutto funzioni, audio compresi.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Punti della rotta

La rotta si approssima con punti lungo l'arco più breve tra due aeroporti; per ogni punto si chiede la previsione.

const rad = (g: number) => (g * Math.PI) / 180, gra = (r: number) => (r * 180) / Math.PI;
type P = { lat: number; lon: number };

export function puntiRotta(a: P, b: P, n = 20): P[] {
  const [f1, l1, f2, l2] = [rad(a.lat), rad(a.lon), rad(b.lat), rad(b.lon)];
  const d = 2 * Math.asin(Math.sqrt(Math.sin((f2 - f1) / 2) ** 2 + Math.cos(f1) * Math.cos(f2) * Math.sin((l2 - l1) / 2) ** 2));
  return Array.from({ length: n + 1 }, (_, i) => {
    const t = i / n, A = Math.sin((1 - t) * d) / Math.sin(d), B = Math.sin(t * d) / Math.sin(d);
    const x = A * Math.cos(f1) * Math.cos(l1) + B * Math.cos(f2) * Math.cos(l2);
    const y = A * Math.cos(f1) * Math.sin(l1) + B * Math.cos(f2) * Math.sin(l2);
    const z = A * Math.sin(f1) + B * Math.sin(f2);
    return { lat: gra(Math.atan2(z, Math.hypot(x, y))), lon: gra(Math.atan2(y, x)) };
  });
}

Pezzi comuni a tutti i progetti

Glossario

Rotta ortodromica
Il percorso più breve tra due punti sulla Terra: sulle mappe appare come una curva.