← Tutte le idee Casa e famiglia

Heimiva

Pasti, compiti, calendario e spesa della famiglia in un'unica app

Cosa fa

App per organizzare la vita di famiglia: menu della settimana, lista della spesa condivisa, compiti da dividere e calendario comune, con un aiuto dall'AI. Nata in tedesco e inglese.

Come guadagna

Il progetto è stato messo in vendita su SideProjectors a circa 4.500 $. Come guadagna non è indicato pubblicamente.

Rendilo tuo

  • In italiano, con le ricette italiane e la lista della spesa divisa per reparto del supermercato.
  • Per famiglie separate: calendario dei figli condiviso tra i due genitori.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Casa Nostra": organizza la vita di famiglia in un posto solo: menù della settimana con lista della spesa, faccende divise a turno tra tutti, e calendario comune, con l'aiuto dell'AI per i menù. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Pagina iniziale con le funzioni e il prezzo
2. Creazione della famiglia e invito dei membri
3. Menù della settimana con le ricette e la lista della spesa che si genera da sola
4. Faccende: chi fa cosa questa settimana, con turni a rotazione
5. Calendario comune

Stile: caldo e allegro: sfondo bianco, un colore per ogni membro della famiglia, verde #16A34A per le faccende fatte, carattere "Nunito" arrotondato, icone 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:
- "famiglie" e "membri": la famiglia e i suoi membri, anche bambini senza account
- "menu": pasti della settimana con ricetta e ingredienti
- "spesa": voci della lista, fatte o no
- "faccende": nome, frequenza, peso (quanto è faticosa), a chi tocca questa settimana

Regole di sicurezza obbligatorie:
- ogni famiglia vede solo i suoi dati
- si entra in una famiglia solo con un invito
- 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. Menù e lista della spesa

Nel menù della settimana si scelgono i pasti a mano o si chiede all'AI ("settimana veloce, vegetariano il martedì, niente pesce per il piccolo"): la Edge Function "menu" restituisce 14 pasti in JSON con gli ingredienti, rispettando preferenze, allergie e tempo disponibile.

La lista della spesa si genera da sola sommando gli ingredienti di tutti i pasti, divisa per reparto, ed è condivisa in tempo reale: chi è al supermercato spunta, gli altri vedono.

Avanzi: il sito propone di riusare gli ingredienti avanzati nei pasti successivi.

4. Faccende a turno e calendario

Le faccende (lavastoviglie, spazzatura, bagno, spesa) si dividono a rotazione ogni settimana tenendo conto di quanto è faticosa ciascuna, così il carico è equo (codice nei Dettagli tecnici). I bambini hanno faccende adatte all'età e un tabellone con le stelline.

Calendario comune con un colore per persona, eventi ricorrenti (calcetto il martedì) e promemoria.

5. Pagamenti con Stripe

Aggiungi un abbonamento a 3,99 € al mese per famiglia. Gratis l'utente ha: lista della spesa e 3 faccende. Con il piano Pro sblocca: menù con l'AI, faccende illimitate a rotazione, calendario e tabellone dei bambini.

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. Equità: con 4 membri e 8 faccende di peso diverso, simula 4 settimane: il peso totale per persona deve essere quasi uguale.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Faccende divise in modo equo

Assegna le faccende della settimana partendo dalle più faticose e dando ognuna a chi finora ha accumulato meno peso: in poche settimane il carico si pareggia.

type Faccenda = { nome: string; peso: number; etaMinima: number };
type Membro = { nome: string; eta: number; pesoAccumulato: number };

export function assegnaSettimana(faccende: Faccenda[], membri: Membro[]) {
  const carico = new Map(membri.map((m) => [m.nome, m.pesoAccumulato]));
  const assegnate: { faccenda: string; a: string }[] = [];

  for (const f of [...faccende].sort((a, b) => b.peso - a.peso)) {
    const possibili = membri.filter((m) => m.eta >= f.etaMinima);
    if (!possibili.length) continue;
    // A chi ha meno carico finora
    const scelto = possibili.reduce((min, m) => (carico.get(m.nome)! < carico.get(min.nome)! ? m : min));
    carico.set(scelto.nome, carico.get(scelto.nome)! + f.peso);
    assegnate.push({ faccenda: f.nome, a: scelto.nome });
  }
  return { assegnate, nuovoCarico: Object.fromEntries(carico) };   // il carico si salva per la settimana dopo
}

Istruzioni per l'AI: menu

La Edge Function che propone il menù. Con l'abbonamento, al posto dei crediti si controlla il piano della famiglia. 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 cuoco di casa italiano. Crea il menù di una settimana (pranzo e cena, 14 pasti) per la famiglia descritta, rispettando preferenze, allergie (mai usare ingredienti che le contengono) e tempo disponibile. Riusa gli ingredienti tra i pasti per ridurre gli sprechi. Rispondi solo con JSON: {"pasti": [{"giorno": 1-7, "pasto": "pranzo"|"cena", "piatto", "minuti", "ingredienti": [{"nome", "quantita", "unita", "reparto"}]}]}.

Pezzi comuni a tutti i progetti

Glossario

JSONB
Un tipo di colonna che contiene dati strutturati flessibili, come un piccolo documento.
Realtime
Una funzione di Supabase che aggiorna la pagina da sola quando cambia un dato.