KitchenDesign
Fotografi una stanza e l'AI te la mostra ristrutturata
Incasso mensile: 2100 USD (fonte indicata nella scheda)
Cosa fa
App di interior design: da una foto di una stanza o di un giardino, l'AI propone come potrebbe essere con stili e materiali diversi.
Come guadagna
Ha entrate ricorrenti ogni mese, verificate su TrustMRR. Prezzi e piani esatti sono indicati sul sito del progetto.
Rendilo tuo
- Per negozi di arredamento e cucine: il cliente vede i loro prodotti nella sua stanza.
- Collegalo a un preventivo di ristrutturazione con artigiani locali.
Le frasi da scrivere all'AI
1. Base del sito e grafica
Crea un'app web in italiano chiamata "Nuova Cucina": mostra come potrebbe diventare una cucina, un bagno o un giardino partendo da una foto, con una lista dei materiali e una stima dei costi indicativa. Usa React, Vite, TypeScript e Tailwind CSS.
Pagine da creare:
1. Pagina iniziale con trasformazioni prima/dopo e prezzi
2. Registrazione e accesso
3. Nuovo progetto: foto, tipo di ambiente, stile, budget
4. Risultato: varianti, confronto e lista dei materiali
5. I miei progetti
Stile: caldo e ispirante: sfondo beige chiaro #FAF7F2, verde oliva #4D5B2B, legno #92400E, carattere "Fraunces" per i titoli e "Inter" per i testi. 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:
- "progetti": tipo di ambiente, stile, budget, foto, varianti generate, lista materiali in JSON, collegati all'utente
Regole di sicurezza obbligatorie:
- ogni utente vede solo i suoi progetti e le sue foto
- i crediti non si modificano 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. Dalla foto alle varianti
L'utente carica la foto e sceglie l'ambiente (cucina, bagno, soggiorno, camera, giardino, terrazzo), lo stile (moderno, country, industriale, scandinavo, mediterraneo, giapponese) e il budget (basso, medio, alto).
Il pulsante "Mostrami" (un credito) chiama un'API di modifica immagini: mantiene la forma della stanza, porte e finestre, e cambia mobili, finiture e colori secondo lo stile. Si ottengono 3 varianti con il confronto a cursore.
Su ogni immagine: "Visualizzazione indicativa".
4. Lista dei materiali e costi
Per la variante scelta, la Edge Function "materiali" chiede a Claude di guardare l'immagine e scrivere la lista dei materiali e dei lavori (es. "piastrelle gres effetto legno, circa 12 m²") con una fascia di prezzo indicativa per l'Italia.
Mostra la lista come tabella, con il totale "da… a…", e l'avviso: "Stima indicativa: chiedi sempre un preventivo a un professionista". Pulsante per scaricare tutto in PDF da portare in negozio.
5. Pagamenti con Stripe
Aggiungi pacchetti di crediti: 10 progetti a 9,99 €, 30 progetti a 19,99 €. Ogni nuovo utente riceve 2 crediti gratis. Ogni progetto (3 varianti e lista materiali) costa un credito. Mostra sempre in alto quanti crediti restano e, quando finiscono, un riquadro per comprarne altri.
A pagamento riuscito il webhook aggiunge i crediti del pacchetto con la funzione aggiungi_crediti.
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. Costi: verifica che ogni lista dei materiali abbia l'avviso di stima indicativa e che i prezzi siano fasce, mai cifre esatte.
Correggi quello che non va e scrivimi cosa hai cambiato.
Dettagli tecnici
Tabella e Storage
I progetti con varianti e lista dei materiali, e lo spazio privato per le foto.
create table progetti (
id uuid primary key default gen_random_uuid(),
utente_id uuid not null references auth.users(id) on delete cascade,
ambiente text not null,
stile text not null,
budget text not null check (budget in ('basso', 'medio', 'alto')),
foto_path text not null,
varianti_path text[] not null default '{}',
materiali jsonb, -- [{ voce, quantita, prezzo_min, prezzo_max }]
creato_il timestamptz not null default now()
);
alter table progetti enable row level security;
create policy "le mie righe" on progetti
for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);
insert into storage.buckets (id, name, public) values ('stanze', 'stanze', false);
create policy "la mia cartella stanze" on storage.objects for all to authenticated
using (bucket_id = 'stanze' and (storage.foldername(name))[1] = auth.uid()::text)
with check (bucket_id = 'stanze' and (storage.foldername(name))[1] = auth.uid()::text);Istruzioni per l'AI: materiali
La Edge Function della lista materiali. Nella "richiesta" il server mette l'immagine della variante scelta (in base64) e i dati del progetto. La creazione delle varianti scala già il credito, quindi qui si può togliere usa_credito. 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 geometra italiano. Guardando l'immagine di un ambiente ristrutturato, elenca i principali materiali e lavori necessari per ottenerlo, con quantità stimate e fasce di prezzo indicative per l'Italia in euro (materiale più posa). Sii prudente e realistico. Rispondi solo con JSON: {"voci": [{"voce", "quantita", "prezzo_min", "prezzo_max"}], "nota": "una frase sui fattori che cambiano il prezzo"}.
Pezzi comuni a tutti i progetti
- Pagamenti con Stripe
- Profili, piano e crediti
- Chiamare l'AI dal server
- Controllo finale prima di pubblicare
Glossario
- Storage
- Lo spazio di Supabase dove si salvano i file, come foto e audio, con le sue regole di accesso.
- JSONB
- Un tipo di colonna che contiene dati strutturati flessibili, come un piccolo documento.