Il Problema del Giorno Due: Quando la tua App Vibe-Coded incontra Utenti Reali

Il Problema del Giorno Due: Quando la tua App Vibe-Coded incontra Utenti Reali

10 giugno 2026

Il primo giorno di un’app vibe-coded è la miglior demo che tu abbia mai fatto. Il prompt ha funzionato, le schermate sono pulite, il database contiene dati e hai pubblicato un tweet con una registrazione dello schermo. Abbiamo vissuto quel giorno molte volte. Non siamo qui per privartene.

Siamo qui per parlare del secondo giorno, perché nessun thread di lancio ne parla. Il secondo giorno è quando un utente reale effettua l’accesso, fa qualcosa che non avevi pensato di testare e la tua app incontra il vuoto tra ciò che è “generato” e ciò che è “ingegnerizzato”.

Come appare realmente il secondo giorno

Raramente inizia con un crash. Inizia con qualcosa di strano: un modulo che accetta dati errati, una pagina che si rompe per un utente specifico, un numero sbagliato in un modo che nessuno riesce a riprodurre. Incolli l’errore nella chat. L’AI lo risolve con sicurezza. La soluzione rompe qualcos’altro.

Benvenuto nel gioco del prompt whack-a-mole. Poiché l’AI risolve i sintomi invece delle cause alla radice, ognitoppa si sovrappone alla precedente e il codebase diventa silenziosamente ciò che gli sviluppatori chiamano “codice di Frankenstein”: un mosaico di stili contrastanti, funzioni duplicate e logiche aggrovigliate dove le query del database vivono all’interno del codice dell’interfaccia. Man mano che il progetto supera la finestra di contesto dell’AI, il modello inizia a dimenticare le proprie decisioni precedenti e propone codice che le contraddice. Non stai più gestendo un’app. Stai negoziando con essa.

C’è una variante ancora più crudele: il fallimento silenzioso del deploy. La build dell’hosting fallisce per un errore minore, l’URL live continua a mostrare la vecchia versione e tu — non vedendo cambiamenti — dici all’AI che la sua soluzione “non ha funzionato”. Quindi l’AI genera una soluzione completamente diversa e più complessa per un problema che era già stato risolto. Dopo diversi round, ti ritrovi con una v5 gonfiata di un codice la cui v1 era perfetta.

La parte che non vedi

Il tapis roulant del debugging è almeno visibile. I problemi di sicurezza no, ed è per questo che siamo così severi quando si parla di build aziendali.

I dati della ricerca sono davvero inquietanti. Il codice generato da LLM compila correttamente circa il 90% delle volte, ma all’incirca il 45% contiene vulnerabilità tra le OWASP Top 10: controlli di login aggirabili, falle di injection. Gli strumenti di AI ottimizzano per far sì che la demo funzioni, il che porta a scorciatoie prevedibili: controlli di accesso implementati nel browser (che qualsiasi utente può bypassare modificando la pagina), permessi del database completamente aperti per evitare errori durante il build e chiavi API scritte in chiaro nei file perché il builder non sa cosa sia una variabile d’ambiente. Questi file finiscono poi su repository GitHub pubblici, dove i software di scraping delle credenziali li trovano puntualmente.

Ecco cosa rende questo un problema tipico del ‘giorno due’: un’app vulnerabile funziona perfettamente. Non appare alcun messaggio d’errore se “il client A può tecnicamente leggere i record del client B”. Lo scopri tramite un utente, se sei fortunato, o in modi molto peggiori se non lo sei. E il consiglio standard (“basta testarlo!”) si scontra con la realtà: i builder non tecnici testano il ‘percorso felice’, mentre i bug si annidano nei casi limite: l’errore di concorrenza, il flusso di recupero password dimenticato che l’AI non ha mai generato perché la demo non ne aveva bisogno.

Il debito di manutenzione che nessuno contabilizza

Accumulando queste dinamiche per mesi si ottiene quello che potremmo definire il ‘prestito a breve termine’ del debito tecnico: software istantaneo oggi, interessi composti domani. Ogni scorciatoia presa dall’AI è un futuro intervento correttivo. Ogni correzione comporta l’uso di altri crediti e un ulteriore gonfiamento del codice. Gli aggiornamenti della piattaforma arrivano e rompono funzionalità che non avevi nemmeno toccato: chi costruisce a lungo termine su piattaforme prompt-to-app riferisce di dover addebitare ai clienti canoni di manutenzione mensili solo per gestire le regressioni causate dalla piattaforma stessa.

Questa è la beffa centrale: il vibe coding prometteva di democratizzare il software e, per le app in produzione, ha finito per democratizzare soprattutto il debito tecnico. Il builder non tecnico si ritrova con esattamente ciò che voleva evitare usando l’AI — una codebase che richiede il giudizio di uno sviluppatore — con la differenza che ora ne dipende il suo business e lui non è in grado di leggerla.

Il bivio dell’onestà

Quindi, cosa fare concretamente? Dopo molti progetti e qualche cicatrice, crediamo che tutto si riduca a un bivio con due percorsi onesti; la via di mezzo, invece, è l’unica risposta sbagliata.

Percorso uno: imparare a mantenere il codice. Se ami questo mondo abbastanza da voler approfondire, il vibe coding diventa un acceleratore legittimo invece di una trappola. Leggi ciò che scrive l’agente. Capisci cosa significa RLS prima di pubblicare un’app che ne dipenda. Passa dagli strumenti basati solo su prompt a Cursor o Replit, dove il codice è l’interfaccia e puoi sviluppare un vero senso critico. Questo percorso è davvero eccellente, ma è un cammino che richiede mesi di studio; fingere di percorrerlo mentre si consegnano ai clienti codici mai letti è la trappola.

Percorso due: affidare le parti critiche a una base non generata. Sii onesto: la tua app è uno strumento di business — un portale clienti, un tracker, un CRM interno — e nota che l’80% di essa è composta proprio da quell’infrastruttura che l’AI genera peggio: autenticazione, permessi, recupero password, accesso ai dati. Costruisci questa parte su una piattaforma no-code come Softr, dove l’infrastruttura è testata e configurata visivamente, mentre l’AI Co-Builder ti garantisce comunque la velocità del primo giorno. Quando desideri un tocco personalizzato, il blocco di vibe-coding limita il codice generato a un singolo componente, permettendo all’AI di “decorare la casa” senza rischiare di far crollare il tetto. In questo percorso, il ‘giorno due’ richiede una modifica, non uno scavo archeologico — ed è per questo che Softr guida la nostra classifica dei portali clienti.

Continua a usare il vibe coding per le cose divertenti senza riserve: prototipi, giocattoli, esperimenti del weekend sono esattamente ciò in cui questi strumenti eccellono. Decidi solo, prima che arrivino gli utenti reali, da che lato del bivio ti trovi. Il ‘giorno due’ non chiede il permesso.

Confronta strumenti

Pronto a fare vibe coding?

Classifichiamo gli strumenti in base a progetti reali. Scopri dove si colloca ogni builder prima di iniziare.

Vedi le classifiche →