Errori tecnici nella gestione di 16 prodotti su Lovable e Supabase

Gestiamo 16 prodotti in Inithouse. Usiamo Lovable e Supabase per tutti. Un unico team gestisce tutto.

Gestire 16 prodotti significa gestire 16 domini personalizzati, 16 progetti Supabase e 16 set di edge functions. Questa scala porta a errori ripetitivi.

Ecco cinque errori tecnici che abbiamo commesso e come li abbiamo risolti.

  1. Schemi del database incoerenti I nostri primi tre prodotti utilizzavano nomi diversi per gli stessi dati. Un progetto usava page_views per l'analytics. Un altro usava analytics_events.

Scrivere strumenti condivisi richiedeva due settimane invece di un pomeriggio, perché dovevamo scrivere query personalizzate per ogni progetto.

La soluzione: Abbiamo creato un template di migrazione condiviso. Ogni nuovo prodotto utilizza le stesse tabelle base per analytics, post del blog e auth.

  1. Fallimenti silenziosi del dominio Lovable ti permette di collegare domini personalizzati. A volte il deploy ha successo ma la verifica DNS fallisce. L'URL di anteprima funziona, ma il dominio live mostra una pagina bianca.

Abbiamo perso tre giorni di traffico su un prodotto prima di accorgercene.

La soluzione: Utilizziamo una checklist post-pubblicazione. Apriamo il dominio live in una finestra in incognito per verificarlo. Usiamo anche un cron job per fare il ping al dominio ogni cinque minuti.

  1. Visibilità dei dati frammentata Per vedere come stavano andando i nostri prodotti, dovevamo aprire dashboard Supabase e proprietà GA4 separate. Stavamo volando alla cieca.

La soluzione: Abbiamo distribuito un endpoint API per le statistiche in ogni progetto Supabase. Ogni prodotto utilizza una edge function per restituire le metriche chiave in un unico formato. Un semplice script estrae i dati da tutti i 16 endpoint in un'unica dashboard.

  1. Copia e incolla di componenti Solitamente copiavamo componenti React da un progetto all'altro. Questo causava bug. Una card dei prezzi di un progetto presupponeva un pagamento unico. Quando l'abbiamo incollata in un progetto basato su abbonamento, ha interrotto il flusso di Stripe.

La soluzione: Abbiamo smesso di fare copia e incolla del codice. Manteniamo un documento di pattern dei componenti. Chiediamo a Lovable di costruire un nuovo componente basato su quei pattern. Questo evita bug derivanti da vecchie assunzioni.

  1. Usare la chat come documentazione Usavamo la cronologia della chat di Lovable come documentazione. Trovare una specifica decisione tecnica in un lungo thread di chat è difficile e lento.

La soluzione: Abbiamo spostato la registrazione delle decisioni su Linear. Ogni importante cambiamento tecnico riceve un commento su Linear che spiega cosa è cambiato e perché. La chat di Lovable rimane per l'esecuzione. Linear rimane per le decisioni.

La lezione: Non trattare 16 prodotti come 16 progetti separati. Trattali come un unico portfolio. Standardizza i tuoi template e monitora tutto centralmente.

Fonte: https://dev.to/jakub_inithouse/technical-mistakes-of-running-16-products-on-lovable-supabase-59fh