Quali AI app builder creano un backend reale — e cosa conta come "reale"?
Risposta breve: un backend reale significa dati PostgreSQL persistenti, autenticazione server-side e API REST che fanno rispettare le regole sul server — non un bel frontend React in cui il form di login non autentica nessuno e i grafici della dashboard renderizzano JSON hardcoded. La maggior parte degli AI app builder genera la seconda cosa. VULK (il nostro prodotto — disclosure sotto) genera e deploya la prima: quando il tuo prompt descrive account, dati salvati o ruoli admin, provisiona automaticamente un backend reale — schema PostgreSQL, endpoint CRUD, auth JWT con ruoli — accanto al frontend, collegato e deployato. Lovable e Bolt prendono una strada diversa e legittima: delegano il backend a Supabase, che funziona bene ma significa operare una seconda piattaforma. Gli strumenti frontend-first ti lasciano costruire da solo il 60% difficile.
La domanda non è un caso limite: il 62% di tutte le app generate su VULK include uno schema SQL (dati della piattaforma VULK, luglio 2026, su 11.355 app generate) — la maggior parte delle persone che prompta un'"app" sta descrivendo qualcosa con utenti e dati, che se ne renda conto o no. Questa guida copre tutto: i quattro test di un backend reale, come funziona il provisioning automatico, come sono davvero lo schema e l'auth generati, i pattern di sicurezza, il deploy, sei prompt completi pronti da copiare e — la parte su cui i vendor borbottano — la storia onesta di export e portabilità, compresa la nostra. Disclosure: VULK è il nostro prodotto. Aggiornato il 17 luglio 2026.
Tabella comparativa: come gli AI builder gestiscono il backend
| Strumento | Approccio al backend | Database | Auth | Portabilità del backend | Prezzo di partenza |
|---|---|---|---|---|---|
| VULK | Generato + deployato (API engine) | PostgreSQL per progetto | Generata (JWT, ruoli, password_hash) |
Export schema (SQL) + dati (CSV); l'engine resta hosted | $3.99 intro di 3 giorni → $19.99/mese (solo a pagamento) |
| Lovable | Delegato a Supabase | Supabase Postgres | Supabase Auth | Il tuo progetto Supabase — pg_dump completo | Gratis (limitato) → $25/mese |
| Bolt | Delegato a Supabase | Supabase Postgres | Supabase Auth | Il tuo progetto Supabase | Gratis → $25/mese |
| Replit | Scritto dall'agente, qualsiasi stack | PostgreSQL hosted | Scritta dall'agente o Replit Auth | Accesso completo al codice | Gratis → Core $25/mese |
| Databutton | FastAPI generato (Python) | Integrato + esterno | Integrata | Codice visibile/esportabile | $20/mese |
| Base44 | Proprietario incorporato | Integrato | Integrata | Nessun export del backend | Gratis (25 crediti) → $20/mese |
| v0 | Frontend-first + integrazioni | Via add-on del marketplace | Via add-on | N/A (assemblato) | Gratis → $20/mese |
Dietro l'etichetta "AI builder full-stack" si nascondono tre architetture. Generato (VULK, Databutton): l'IA scrive schema, endpoint e auth come parte dell'app — il più integrato, e ti stai fidando di codice server generato (è ispezionabile; ispezionalo). Delegato (Lovable, Bolt → Supabase): lo strumento collega il tuo frontend a un BaaS gestito — ottima DX e portabilità dei dati pulita, ma operi due piattaforme ed erediti la forma del BaaS. Incorporato (Base44): zero setup, zero uscita. Nessuna è sbagliata; falliscono in modo diverso man mano che cresci. Prezzi verificati il 17 luglio 2026.
Cosa manca davvero alle app IA solo-frontend?
Fai passare qualsiasi demo di "AI app builder" per quattro test:
- Persistenza: crei dati, rideploy — ci sono ancora? Le app con dati finti si resettano. Le app localStorage tengono i dati in ostaggio in un browser.
- Auth reale: il form di login verifica le credenziali su un server ed emette una sessione? L'"auth" client-side è decorazione — chiunque apre i DevTools e la scavalca.
- Regole imposte sul server: l'utente A può leggere i record dell'utente B cambiando un ID nella richiesta? Se la validazione vive solo in React, la risposta è sì.
- Dati ispezionabili: puoi eseguire SQL contro il tuo database?
Fallisci quei test e hai un prototipo — genuinamente utile per validare un'idea, ed è lì che strumenti come v0 brillano. Ma il divario tra quel prototipo e un prodotto è precisamente il backend: account, ruoli, validazione, relazioni, migrazioni. È la parte che storicamente consumava la maggior parte del tempo di ingegneria — ed è la parte di cui il 62% delle generazioni VULK finisce per aver bisogno (dati della piattaforma VULK, luglio 2026).
Come fa VULK a provisionare un backend automaticamente?
Non dici mai "aggiungi un backend". Il rilevamento legge il tuo prompt cercando segnali:
- Segnali di auth — "login", "registrazione", "account utente", "pannello admin", "ruoli": attivano il sistema di auth.
- Segnali di persistenza — "salvare", "memorizzare", "storico", "record", "database": attivano la generazione di schema + CRUD.
- Segnali di API — "endpoint", "REST", "webhook": attivano la generazione delle route.
Il rilevamento è deliberatamente conservativo — una landing page o un portfolio resta un frontend statico veloce; un prompt con "gli utenti possono pubblicare annunci e scrivere ai venditori" riceve lo stack completo. Quando scatta, una sola generazione produce quattro livelli coordinati:
- Schema PostgreSQL — tabelle, tipi, constraint, chiavi esterne, indici, derivati dalle entità del tuo prompt.
- API REST — CRUD completo per entità con validazione, paginazione e status code corretti, deployato sull'API engine di VULK.
- Sistema di auth — endpoint di registrazione e login, hashing delle password con bcrypt, emissione di JWT, middleware a protezione delle route private, controlli di ruolo dove il tuo prompt implica ruoli.
- Frontend collegato — l'app React viene generata contro questa API: le chiamate fetch puntano a endpoint reali, i token si allegano alle richieste, gli stati di caricamento ed errore esistono. Il form di login ti fa davvero accedere. Quest'ultimo livello è ciò che separa "ha generato un backend" da "ha generato due metà che avrai il piacere di integrare da solo".
L'editor ti dà poi un pannello Backend: sfoglia tabelle e righe, esegui SQL puro in un query runner, testa gli endpoint con un API tester ed esporta qualsiasi tabella in CSV. I tuoi dati non stanno mai dietro una tenda.
Com'è lo schema SQL generato?
La qualità dello schema decide la qualità dell'applicazione, quindi la generazione impone i pattern che userebbe un ingegnere di database attento. Per "un task manager dove gli utenti creano progetti e aggiungono task; gli utenti vedono solo i propri progetti":
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
name VARCHAR(120) NOT NULL,
role VARCHAR(20) NOT NULL DEFAULT 'member',
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE TABLE projects (
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR(160) NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE TABLE tasks (
id SERIAL PRIMARY KEY,
project_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
title VARCHAR(200) NOT NULL,
description TEXT,
priority VARCHAR(10) NOT NULL DEFAULT 'medium'
CHECK (priority IN ('low','medium','high')),
status VARCHAR(12) NOT NULL DEFAULT 'open'
CHECK (status IN ('open','in_progress','done')),
due_date DATE,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE INDEX idx_projects_user_id ON projects(user_id);
CREATE INDEX idx_tasks_project_id ON tasks(project_id);
CREATE INDEX idx_users_email ON users(email);
Le scelte deliberate, ognuna un errore comune nel codice generato ingenuo:
password_hash, maipassword. Il nome stesso della colonna rende impossibile scrivere per sbaglio uno storage in chiaro — una regola imposta a livello di prompt engineering.- Chiavi esterne con comportamento di delete intenzionale —
ON DELETE CASCADEdove i figli non devono sopravvivere ai genitori;SET NULLdove gli orfani devono sopravvivere (prodotti che sopravvivono a una categoria eliminata). - Constraint CHECK per valori limitati — uno status di task non può diventare silenziosamente
"donee". - Indici che corrispondono ai pattern di query — chiavi esterne, email di lookup al login, colonne di ordinamento.
- Timestamp su ogni tabella. Noiosi finché non ti servono; poi critici.
Perché PostgreSQL e non MongoDB o Firebase? Perché le app che le persone promptano sono in stragrande maggioranza relazionali — gli ordini contengono articoli, i task appartengono a progetti, i progetti appartengono a utenti — e le chiavi esterne con constraint esprimono questo con garanzie di integrità che i documenti non possono dare. E perché una dipendenza da un BaaS di terze parti romperebbe "un prompt, un'app funzionante e deployata" con la creazione di un account su una seconda piattaforma. Postgres è ciò che sceglieresti a mano per la produzione, quindi è ciò che viene generato.
Come funziona l'autenticazione generata?
Il flusso di auth completo, costruito come dovrebbe essere, perché l'auth è il livello in cui le scorciatoie generate diventano violazioni:
POST /api/auth/register— valida l'input, fa l'hash della password con bcrypt (mai in chiaro, mai reversibile), la salva inpassword_hash, restituisce un JWT.POST /api/auth/login— confronta l'hash bcrypt, emette un JWT firmato in caso di successo. Stesso errore per email sbagliata e password sbagliata (niente enumerazione degli account).- Middleware su ogni route protetta verifica il JWT server-side; il frontend lo allega automaticamente.
- Proprietà a livello di riga nelle query —
WHERE user_id = $1dal token verificato, così cambiare un ID nell'URL non può leggere le righe di qualcun altro. - Ruoli quando richiesti ("l'admin può gestire i prodotti") — una colonna
rolecontrollata nel middleware, endpoint solo-admin e UI condizionale corrispondente.
Accanto all'auth, i default di sicurezza non opzionali: query parametrizzate ovunque (niente SQL concatenato in stringhe), validazione dell'input server-side su ogni endpoint, CORS ristretto all'origine dell'app e rate limiting sugli endpoint di auth. Rivedi la logica di autorizzazione generata prima del lancio come faresti con quella di uno sviluppatore junior veloce — i pattern sono giusti; le regole specifiche della tua app su "chi può vedere i dati di chi" meritano occhi umani.
6 prompt completi pronti da copiare per app full-stack
Ognuno è completo ed esercita deliberatamente la generazione del backend — account, relazioni, ruoli, aggregazione. Incolla così com'è.
1. Task manager SaaS con team:
Costruisci un'app di gestione dei task chiamata Taskframe dove gli utenti si registrano, creano progetti e aggiungono task con titolo, descrizione, priorità (bassa/media/alta), scadenza e status (aperto/in corso/fatto). Gli utenti possono invitare colleghi a un progetto via email; i membri vedono i progetti condivisi, ma solo il proprietario del progetto può eliminarlo o rimuovere membri. Viste: una board raggruppata per status con drag tra colonne, e una vista lista con ordinamento e filtri. La dashboard mostra i miei task aperti su tutti i progetti, ordinati per scadenza, con quelli in ritardo in rosso. UI chiara e pulita, accento indaco.
2. Negozio e-commerce con pannello admin:
Crea un negozio online di ceramica artigianale chiamato Kiln & Co. I clienti sfogliano una griglia di prodotti con filtri per categoria, vedono le pagine di dettaglio, aggiungono al carrello e fanno il checkout (form dell'indirizzo di spedizione + pagamento fittizio), creando un ordine con storico salvato nell'account. Ruolo admin: area /admin separata con gestione prodotti (creare, modificare, archiviare prodotti con nome, prezzo, stock, categoria, descrizione), lista ordini con aggiornamenti di stato (in attesa/spedito/consegnato) e un riepilogo dei ricavi per mese. Lo stock si decrementa all'ordine; i prodotti a stock zero mostrano esaurito e non possono essere ordinati. Design caldo e minimale, accento terracotta.
3. Piattaforma di prenotazioni:
Costruisci un'app di prenotazioni per uno studio di yoga. Pubblico: orario delle lezioni della settimana (nome, insegnante, ora, posti rimanenti), registrazione e login. I membri prenotano un posto in una lezione — capienza imposta server-side così una lezione piena rifiuta altre prenotazioni — e possono cancellare fino a 2 ore prima dell'inizio. La pagina delle mie prenotazioni mostra lezioni future e passate. Ruolo staff: creare e modificare le lezioni (nome, insegnante, giorno, ora, capienza), vedere gli elenchi per lezione e segnare le presenze. Impedisci la doppia prenotazione dello stesso membro nella stessa lezione. Design calmo salvia e crema.
4. Board di feedback dei clienti:
Crea una board pubblica di feedback come uno strumento minimale di roadmap di prodotto. Chiunque abbia effettuato l'accesso può proporre un'idea (titolo, descrizione, categoria) e fare upvote alle altre — un voto per utente per idea, attivabile e disattivabile. Le idee si ordinano per voti o per recenza; ognuna ha un thread di commenti. Ruolo admin: cambiare lo status dell'idea (in valutazione/pianificata/in corso/rilasciata), fissare idee in alto ed eliminare lo spam. La pagina pubblica della roadmap raggruppa le idee per status in colonne. I cambi di status compaiono in un feed di attività sull'idea. Tema scuro, accento blu elettrico.
5. App di fatturazione:
Costruisci un'app di fatturazione per freelance. Gli utenti gestiscono clienti (azienda, nome del contatto, email, indirizzo) e creano fatture: cliente, righe (descrizione, quantità, prezzo unitario), aliquota fiscale, scadenza e un numero di fattura sequenziale auto-generato per utente. Stati della fattura: bozza, inviata, pagata, scaduta — la scaduta è calcolata automaticamente dalla data di scadenza. Dashboard: totale in sospeso, pagato questo mese, conteggio delle scadute e un grafico a barre dei ricavi su 6 mesi. Pagina pubblica della fattura in sola lettura su un link condivisibile con layout adatto alla stampa. Design professionale ardesia e bianco.
6. Piattaforma community di ricette:
Crea una piattaforma community per condividere ricette. Gli utenti si registrano, pubblicano ricette (titolo, placeholder foto, lista ingredienti, passaggi numerati, tempo di cottura, difficoltà, tag) e modificano o eliminano solo le proprie. Tutti sfogliano per tag o ricerca full-text su titoli e ingredienti; ogni ricetta ha valutazioni a stelle (una per utente, modificabile) ordinate per valutazione media, più i commenti. I profili utente mostrano le loro ricette e i preferiti salvati. Homepage: le più votate della settimana e le più recenti. Il ruolo moderatore può rimuovere ricette e commenti. Design fresco verde e crema con titoli con grazie.
Leggendo il pattern: nomina le entità e i loro campi, dichiara chi può fare cosa ("solo il proprietario può eliminare") e menziona ogni regola che deve valere ("capienza imposta server-side", "un voto per utente"). Quelle frasi diventano chiavi esterne, middleware e constraint.
Come funzionano deploy e anteprime per le app full-stack?
Durante la generazione il frontend gira in una microVM di anteprima live con hot reload, già in dialogo con la vera API generata — la registrazione che testi in anteprima scrive righe reali che puoi vedere subito nel browser delle tabelle del pannello Backend o interrogare con SQL puro. Il deploy spedisce il frontend sull'edge di Cloudflare e il backend + PostgreSQL sull'infrastruttura di VULK, un clic, URL live, domini personalizzati supportati. I deploy di backend + PostgreSQL sono inclusi dal piano Builder ($19.99/mese) in su; l'iterazione dopo il deploy è lo stesso ciclo di prompt successivi, con le modifiche allo schema gestite come migrazioni invece che ricostruzioni distruttive dei dati.
Puoi esportare tutto e andartene? (La risposta onesta)
La domanda da fare a qualsiasi piattaforma prima di avere 10.000 utenti. La risposta di VULK ha una metà forte e una metà limitata — eccole entrambe, con precisione:
Cosa si esporta in modo pulito:
- Sorgente completo del frontend — download ZIP o push su GitHub; un progetto standard React + Vite + TypeScript senza dipendenze proprietarie.
- Il tuo schema completo — lo
schema.sqlviaggia nell'export del sorgente. - Tutti i tuoi dati — export CSV per tabella dal pannello Backend (la tabella intera, non solo la pagina visibile), più l'accesso SQL puro via query runner.
Cosa no: il runtime del backend. L'API engine che serve gli endpoint CRUD generati e l'auth è infrastruttura hosted di VULK, e il frontend esportato la chiama al suo URL hosted. Esporta un'app full-stack e il frontend gira ovunque — ma continua a parlare con l'API di VULK. Fare self-hosting di tutto significa reimplementare il livello API (con il tuo schema e i tuoi dati esportati come specifica completa — una ricostruzione delimitata in Express-o-quello-che-vuoi, ma lavoro vero).
Per contesto su come il resto del mercato risponde alla stessa domanda: Lovable/Bolt hanno la portabilità dei dati più pulita — il progetto Supabase è tuo, pg_dump e via (la logica backend in edge function e policy RLS va comunque migrata). Replit dà accesso completo al codice; la VM è tua. Base44 non ha alcun export del backend. Gli strumenti solo-frontend schivano la domanda non avendo mai avuto i tuoi dati. Qualunque strumento tu scelga: testa il percorso di export nella settimana uno, non nel mese dodici.
Domande frequenti
Qual è la differenza tra un backend reale e dati finti negli AI builder?
Quattro test: i dati sopravvivono ai redeploy; il login verifica le credenziali server-side ed emette una sessione; cambiare un ID in una richiesta non può leggere le righe di un altro utente; e puoi eseguire SQL contro il tuo database. VULK, Replit, Databutton e gli strumenti delegati a Supabase (Lovable, Bolt) li passano. Le demo in cui i "dati" vivono in un file JSON o in localStorage non ne passano nessuno — sono prototipi vestiti da prodotto.
Devo sapere SQL per costruire un'app full-stack con l'IA?
No — descrivi entità e regole in linguaggio normale e schema, indici e constraint vengono generati (il 62% delle app VULK ne riceve uno; dati della piattaforma, luglio 2026). Ma l'SQL non è mai nascosto: il query runner del pannello Backend accetta SQL puro e lo schema viaggia nel tuo export, quindi nel momento in cui vuoi imparare o verificare, tutto è ispezionabile. Quell'ispezionabilità è la differenza pratica tra "database no-code" e "database generato".
Il codice backend generato dall'IA è abbastanza sicuro per la produzione?
I pattern generati sono quelli corretti — hashing bcrypt in password_hash, query parametrizzate, middleware JWT, query limitate all'utente, auth con rate limiting, CORS. Trattalo come il buon lavoro di uno sviluppatore junior veloce: giusto nel complesso, meritevole di una revisione prima del lancio, specialmente le regole di autorizzazione specifiche della tua app (chi esattamente può leggere e modificare le righe di chi). Quella revisione è drasticamente più facile quando il backend è schema leggibile + endpoint REST che quando è magia opaca di piattaforma. L'autorizzazione mal configurata è anche la prima modalità di fallimento nel mondo dei backend delegati (RLS di Supabase) — nessuna architettura ti esenta dal pensarci.
Posso collegare il mio Supabase o un backend esterno?
Su VULK, sì — dal piano Pro in su ci sono le integrazioni, incluse Supabase (più Railway, Paddle, AWS S3 e altre) con storage crittografato delle credenziali e variabili d'ambiente per progetto. Il comportamento di default è deliberatamente l'opposto: la generazione rifiuta i BaaS di terze parti a meno che tu non lo chieda esplicitamente, perché il backend generato a zero setup è l'esperienza centrale. Se il tuo requisito è "i miei dati vivono nel mio Supabase dal giorno uno", Lovable e Bolt sono architettati esattamente attorno a questo — una ragione legittima per sceglierli.
Quanto costa far girare un'app full-stack generata dall'IA?
VULK è solo a pagamento: $3.99 per un'intro di 3 giorni ad accesso completo (accreditata sul primo mese), poi Builder $19.99/mese — che include il backend deployato + PostgreSQL, cioè il tuo hosting — Pro $39.99/mese (aggiunge BYOM, sync GitHub, domini personalizzati), Max $199/mese. Stack comparabili altrove: Lovable/Bolt da $25/mese più Supabase oltre il piano gratuito; Databutton $20/mese (a crediti); Base44 da $20/mese (i loop di crediti possono gonfiarlo). Via tradizionale: un MVP full-stack freelance con auth e database parte tipicamente attorno ai $10.000. Prezzi verificati il 17 luglio 2026.
Cosa succede alla mia app se cancello l'abbonamento?
Il tuo codice e i tuoi dati sono esportabili in qualsiasi momento — frontend in ZIP/GitHub, schema.sql, CSV per tabella — quindi cancellare non lascia mai gli asset bloccati (esporta prima di cancellare). Le parti hosted — l'app deployata e il runtime backend che serve la sua API — girano sull'infrastruttura di VULK e non continuano a girare non pagate, come su qualsiasi piattaforma hosted. La sezione sulla portabilità qui sopra è il quadro completo: il frontend gira ovunque immediatamente; il livello API è tuo da ricostruire dallo schema esportato se te ne vai. Un consiglio di pianificazione che vale per ogni piattaforma di questa guida, la nostra inclusa.
Descrivi l'app — account, dati e tutto il resto — e guarda il form di login funzionare davvero: vulk.dev.


