← Tutte le idee Giochi e hobby

App di temi per la tastiera con AI

Temi per la tastiera del telefono creati con l'AI

Incasso mensile: 27.461 USD (fonte indicata nella scheda)

Cosa fa

App per iPhone che permette di personalizzare la tastiera con temi e sfondi creati dall'AI: colori, immagini, suoni dei tasti. Il fondatore è rimasto anonimo.

Come guadagna

Abbonamenti nell'App Store, oltre 1.200 abbonati, 472.000 $ incassati in totale dal 2022. Incassi verificati tramite App Store.

Rendilo tuo

  • Temi delle squadre di calcio fatti dai tifosi (senza loghi ufficiali).
  • Temi abbinati allo sfondo e alle icone, tutto in un pacchetto.
  • Versione Android, dove le tastiere personalizzate sono più libere.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Tasti Belli": un'app per telefono con una tastiera personalizzata: l'utente descrive il tema che vuole ("tramonto al mare", "anime viola") e l'AI crea lo sfondo e i colori dei tasti. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Schermata iniziale con i temi più amati
2. Crea tema: descrizione, stile, anteprima
3. Galleria dei miei temi
4. Guida per attivare la tastiera nelle impostazioni del telefono
5. Abbonamento

Stile: giocoso e colorato: sfondo #FAF5FF, viola #8B5CF6, rosa #F472B6, carattere "Nunito", anteprime della tastiera grandi. 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:
- "temi": nome, immagine di sfondo, colore dei tasti, colore del testo, suono, pubblico o privato
- "miei_temi": temi salvati dall'utente
- "crediti": generazioni rimaste

Regole di sicurezza obbligatorie:
- ogni utente vede i suoi temi e quelli pubblici
- le immagini stanno nello Storage
- i crediti si scalano solo dal server

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. Dal testo al tema

L'utente scrive cosa vuole. Una Edge Function genera l'immagine di sfondo con un modello di immagini (per esempio con Replicate o fal.ai) nel formato della tastiera, poi calcola dai colori dell'immagine quelli dei tasti e del testo, scegliendo un contrasto sempre leggibile (codice nei Dettagli tecnici).

La tastiera vera è un'estensione del telefono: su iPhone si fa con una "keyboard extension" che legge il tema salvato. Spiega bene all'utente come attivarla, con le schermate: è il punto dove molti abbandonano.

Privacy: la tastiera non deve inviare quello che l'utente scrive, e lo si dice chiaramente.

4. Galleria e condivisione

Galleria dei temi più amati della settimana, e pulsante "condividi" che crea un video verticale della tastiera in azione: è il formato che gira su TikTok.

Filtro per evitare immagini con marchi o personaggi protetti.

5. Pagamenti con Stripe

Aggiungi un abbonamento a 2,99 € a settimana o 19,99 € all'anno. Gratis l'utente ha: 5 temi già pronti. Con il piano Pro sblocca: temi illimitati creati con l'AI, suoni e galleria completa.

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. Leggibilità: crea 5 temi molto diversi (chiari e scuri) e controlla che le lettere dei tasti si leggano sempre bene.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Colori dei tasti sempre leggibili

Dal colore medio dello sfondo si sceglie il colore dei tasti; il testo è bianco o nero in base al contrasto più alto.

type RGB = [number, number, number];

const luminanza = ([r, g, b]: RGB) => {
  const c = [r, g, b].map((v) => { v /= 255; return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4); });
  return 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2];
};
const contrasto = (a: RGB, b: RGB) => {
  const [x, y] = [luminanza(a), luminanza(b)].sort((m, n) => n - m);
  return (x + 0.05) / (y + 0.05);
};

export function coloriTasti(medio: RGB) {
  const tasto: RGB = medio.map((v) => Math.round(v * 0.75 + 255 * 0.25)) as RGB;  // un po' più chiaro dello sfondo
  const testo: RGB = contrasto(tasto, [255, 255, 255]) >= contrasto(tasto, [0, 0, 0]) ? [255, 255, 255] : [0, 0, 0];
  return { tasto, testo };
}

Pezzi comuni a tutti i progetti

Glossario

Storage
Lo spazio di Supabase dove si salvano i file, come foto e audio, con le sue regole di accesso.
Keyboard extension
Il modo con cui un'app per iPhone aggiunge una tastiera tutta sua, da attivare nelle impostazioni.