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
- Pagamenti con Stripe
- Profili, piano e crediti
- Chiamare l'AI dal server
- Controllo finale prima di pubblicare
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.