← Tutte le idee Casa e famiglia

aesty

Consigli di stile per il tuo guardaroba, senza fotografare i vestiti

Incasso mensile: 10.000 USD (fonte indicata nella scheda)

Cosa fa

App che aiuta a creare abbinamenti con i vestiti che si hanno già, senza dover caricare le foto di ogni capo.

Come guadagna

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

Rendilo tuo

  • Abbinamenti per occasioni italiane: matrimonio, cena di lavoro, prima comunione.
  • Suggerisce cosa comprare per completare il guardaroba, con link di affiliazione.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Armadio": suggerisce ogni mattina cosa indossare con i vestiti che si hanno già, in base al meteo e all'occasione, senza dover fotografare ogni capo. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Pagina iniziale con esempi di abbinamenti e prezzi
2. Registrazione e creazione veloce dell'armadio scegliendo i capi da un elenco illustrato
3. Il look di oggi: meteo, occasione e abbinamento proposto
4. Il mio armadio: capi per tipo e colore
5. Look salvati e preferiti

Stile: da rivista di moda ma semplice: sfondo bianco, nero #111111, accento rosa cipria #E8B4B8, carattere "Playfair Display" per i titoli e "Inter" per i testi, capi disegnati come icone pulite colorate con il colore vero. 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:
- "capi": tipo (maglia, camicia, pantalone, gonna, scarpe...), colore, stagione, formalità da 1 a 5, preferito, collegati all'utente
- "look": i capi scelti, occasione, meteo del giorno, voto dell'utente, data

Regole di sicurezza obbligatorie:
- ogni utente vede e modifica solo i suoi capi e look
- 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. Il look di oggi

Crea la creazione dell'armadio senza foto: l'utente tocca il tipo di capo da un elenco di icone, sceglie il colore da una tavolozza di 24 colori e la formalità; in 5 minuti inserisce 30 capi. Le icone si colorano con il colore scelto.

Nella pagina "Il look di oggi" il sito legge il meteo della città dell'utente (servizio gratuito Open-Meteo, codice nei Dettagli tecnici), chiede l'occasione (lavoro, tempo libero, cena, sport, evento) e chiama Claude con l'elenco dei capi: risponde con 3 abbinamenti in JSON, ognuno con i capi scelti e una frase sul perché funziona.

Regole per gli abbinamenti: niente capi pesanti sopra i 25 gradi, scarpe chiuse se piove, non riproporre lo stesso look della settimana.

4. Armadio, preferiti e statistiche

Nella pagina "Il mio armadio" i capi sono divisi per tipo, con filtri per colore e stagione e il pulsante per modificare o togliere un capo.

L'utente vota ogni look (mi piace, non mi piace) e i voti vengono passati a Claude le volte successive. Statistica utile: i capi mai indossati negli ultimi 60 giorni, con il suggerimento "Prova ad abbinarlo così" oppure "Forse puoi regalarlo".

5. Pagamenti con Stripe

Aggiungi un abbonamento a 3,99 € al mese. Gratis l'utente ha: 20 capi e un look al giorno. Con il piano Pro sblocca: capi illimitati, 3 look al giorno, viaggi (valigia per più giorni) e statistiche.

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. Meteo: prova con una città dove piove e una dove fa molto caldo, e controlla che gli abbinamenti cambino davvero.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Tabelle del database

I capi dell'armadio e i look proposti.

create table capi (
  id uuid primary key default gen_random_uuid(),
  utente_id uuid not null references auth.users(id) on delete cascade,
  tipo text not null,
  colore text not null,                 -- es. '#1E3A8A'
  stagione text not null default 'tutte'
    check (stagione in ('tutte', 'calda', 'fredda')),
  formalita int not null default 3 check (formalita between 1 and 5),
  preferito boolean not null default false
);

create table look (
  id uuid primary key default gen_random_uuid(),
  utente_id uuid not null references auth.users(id) on delete cascade,
  capi_ids uuid[] not null,
  occasione text not null,
  meteo jsonb,
  voto int check (voto in (-1, 1)),
  giorno date not null default current_date
);

alter table capi enable row level security;
create policy "le mie righe" on capi
  for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);

alter table look enable row level security;
create policy "le mie righe" on look
  for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);

Il meteo di oggi, gratis

Open-Meteo è un servizio meteo gratuito e senza chiave: restituisce temperature e probabilità di pioggia per la posizione dell'utente.

type MeteoOggi = { massima: number; minima: number; pioggia: number };

export async function meteoOggi(lat: number, lng: number): Promise<MeteoOggi> {
  const url =
    "https://api.open-meteo.com/v1/forecast" +
    "?latitude=" + lat + "&longitude=" + lng +
    "&daily=temperature_2m_max,temperature_2m_min,precipitation_probability_max" +
    "&timezone=auto&forecast_days=1";
  const risposta = await fetch(url);
  if (!risposta.ok) throw new Error("Meteo non disponibile");
  const { daily } = await risposta.json();
  return {
    massima: daily.temperature_2m_max[0],
    minima: daily.temperature_2m_min[0],
    pioggia: daily.precipitation_probability_max[0],  // percentuale
  };
}

Istruzioni per l'AI: look

La Edge Function che propone gli abbinamenti. Con l'abbonamento, al posto di usa_credito si controlla quanti look ha già chiesto oggi l'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 uno stylist. Ricevi l'elenco dei capi dell'utente (con id, tipo, colore, formalità), il meteo e l'occasione. Proponi 3 abbinamenti usando SOLO i capi dell'elenco, adatti al meteo e all'occasione, con colori che stanno bene insieme. Evita i capi indossati di recente se indicati. Rispondi solo con JSON: {"look": [{"capi": ["id", ...], "perche": "una frase"}]}.

Pezzi comuni a tutti i progetti

Glossario

JSONB
Un tipo di colonna che contiene dati strutturati flessibili, come un piccolo documento.
API
Un indirizzo a cui un programma chiede dati a un altro servizio, qui le previsioni del meteo.