¿Qué constructores de apps con IA crean un backend real — y qué cuenta como "real"?
Respuesta corta: un backend real significa datos persistentes en PostgreSQL, autenticación server-side y APIs REST que imponen reglas en el servidor — no un frontend React precioso donde el formulario de login no autentica a nadie y los gráficos del dashboard renderizan JSON hardcodeado. La mayoría de los constructores de apps con IA genera lo segundo. VULK (nuestro producto — disclosure abajo) genera y despliega lo primero: cuando tu prompt describe cuentas, datos guardados o roles de administrador, aprovisiona un backend real automáticamente — esquema PostgreSQL, endpoints CRUD, auth JWT con roles — junto al frontend, todo conectado y desplegado. Lovable y Bolt toman una ruta distinta y legítima: delegan el backend en Supabase, que funciona bien pero implica operar una segunda plataforma. Las herramientas frontend-first te dejan construir tú solo el 60% difícil.
La demanda no es un caso raro: el 62% de todas las apps generadas en VULK incluye un esquema SQL (datos de la plataforma VULK, julio de 2026, sobre 11.355 apps generadas) — la mayoría de la gente que pide una "app" está describiendo algo con usuarios y datos, se dé cuenta o no. Esta guía lo cubre todo: los cuatro tests de un backend real, cómo funciona el aprovisionamiento automático, cómo son realmente el esquema y la auth generados, patrones de seguridad, despliegue, seis prompts completos listos para copiar, y — la parte que los vendedores farfullan — la historia honesta de exportación y portabilidad, incluida la nuestra. Disclosure: VULK es nuestro producto. Actualizado el 17 de julio de 2026.
Tabla comparativa: cómo manejan el backend los constructores de IA
| Herramienta | Enfoque de backend | Base de datos | Auth | Portabilidad del backend | Precio inicial |
|---|---|---|---|---|---|
| VULK | Generado + desplegado (motor de API) | PostgreSQL por proyecto | Generada (JWT, roles, password_hash) |
Exportación de esquema (SQL) + datos (CSV); el motor sigue alojado | $3.99 intro de 3 días → $19.99/mes (solo de pago) |
| Lovable | Delegado en Supabase | Supabase Postgres | Supabase Auth | Tu proyecto Supabase — pg_dump completo | Gratis (limitado) → $25/mes |
| Bolt | Delegado en Supabase | Supabase Postgres | Supabase Auth | Tu proyecto Supabase | Gratis → $25/mes |
| Replit | Escrito por el agente, cualquier stack | PostgreSQL alojado | Escrita por el agente o Replit Auth | Acceso completo al código | Gratis → Core $25/mes |
| Databutton | FastAPI generado (Python) | Integrada + externa | Integrada | Código visible/exportable | $20/mes |
| Base44 | Propietario embebido | Integrada | Integrada | Sin exportación de backend | Gratis (25 créditos) → $20/mes |
| v0 | Frontend-first + integraciones | Vía add-ons del marketplace | Vía add-ons | N/A (ensamblado) | Gratis → $20/mes |
Tres arquitecturas se esconden tras la etiqueta "constructor de IA full-stack". Generado (VULK, Databutton): la IA escribe tu esquema, endpoints y auth como parte de la app — lo más integrado, y estás confiando en código de servidor generado (es inspeccionable; inspecciónalo). Delegado (Lovable, Bolt → Supabase): la herramienta conecta tu frontend a un BaaS gestionado — DX excelente y portabilidad de datos limpia, pero operas dos plataformas y heredas la forma del BaaS. Embebido (Base44): cero configuración, cero salida. Ninguna está mal; fallan de formas distintas a medida que creces. Precios verificados el 17 de julio de 2026.
¿Qué le falta realmente a las apps de IA solo-frontend?
Pasa cualquier demo de "constructor de apps con IA" por cuatro tests:
- Persistencia: creas datos, redespliegas — ¿siguen ahí? Las apps de datos simulados se resetean. Las apps de localStorage secuestran los datos en un navegador.
- Auth real: ¿el formulario de login verifica las credenciales en un servidor y emite una sesión? La "auth" client-side es decoración — cualquiera abre las DevTools y pasa de largo.
- Reglas impuestas en el servidor: ¿puede el usuario A leer los registros del usuario B cambiando un ID en la petición? Si la validación solo vive en React, la respuesta es sí.
- Datos inspeccionables: ¿puedes ejecutar SQL contra tu propia base de datos?
Suspende esos tests y tienes un prototipo — genuinamente útil para validar una idea, y ahí es donde brillan herramientas como v0. Pero la brecha entre ese prototipo y un producto es precisamente el backend: cuentas, roles, validación, relaciones, migraciones. Es la parte que históricamente consumía la mayor parte del tiempo de ingeniería, y es la parte que el 62% de las generaciones de VULK acaba necesitando (datos de la plataforma VULK, julio de 2026).
¿Cómo aprovisiona VULK un backend automáticamente?
Nunca dices "añade un backend". La detección lee tu prompt buscando señales:
- Señales de auth — "login", "registro", "cuentas de usuario", "panel de administración", "roles": disparan el sistema de auth.
- Señales de persistencia — "guardar", "almacenar", "historial", "registros", "base de datos": disparan la generación de esquema + CRUD.
- Señales de API — "endpoint", "REST", "webhook": disparan la generación de rutas.
La detección es deliberadamente conservadora — una landing page o un portfolio sigue siendo un frontend estático rápido; un prompt con "los usuarios pueden publicar anuncios y enviar mensajes a los vendedores" recibe la stack completa. Cuando se dispara, una sola generación produce cuatro capas coordinadas:
- Esquema PostgreSQL — tablas, tipos, constraints, claves foráneas, índices, derivados de las entidades de tu prompt.
- API REST — CRUD completo por entidad con validación, paginación y códigos de estado correctos, desplegado en el motor de API de VULK.
- Sistema de auth — endpoints de registro y login, hashing de contraseñas con bcrypt, emisión de JWT, middleware protegiendo rutas privadas, verificaciones de rol cuando tu prompt implica roles.
- Frontend conectado — la app React se genera contra esta API: las llamadas fetch apuntan a endpoints reales, los tokens se adjuntan a las peticiones, los estados de carga y error existen. El formulario de login inicia sesión de verdad. Esta última capa es lo que separa "generó un backend" de "generó dos mitades que te toca integrar a ti".
El editor te da entonces un panel de Backend: navega tablas y filas, ejecuta SQL puro en un query runner, prueba endpoints con un API tester y exporta cualquier tabla a CSV. Tus datos nunca están tras una cortina.
¿Cómo es el esquema SQL generado?
La calidad del esquema decide la calidad de la aplicación, así que la generación impone los patrones que usaría un ingeniero de bases de datos cuidadoso. Para "un gestor de tareas donde los usuarios crean proyectos y añaden tareas; los usuarios solo ven sus propios proyectos":
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);
Las elecciones deliberadas, cada una un fallo común en código generado ingenuo:
password_hash, nuncapassword. El propio nombre de la columna hace imposible escribir por accidente un almacenamiento en texto plano — una regla impuesta a nivel de prompt engineering.- Claves foráneas con comportamiento de borrado intencional —
ON DELETE CASCADEdonde los hijos no deben sobrevivir a los padres;SET NULLdonde los huérfanos deben sobrevivir (productos que sobreviven a una categoría borrada). - Constraints CHECK para valores acotados — un estado de tarea no puede convertirse silenciosamente en
"donee". - Índices que coinciden con los patrones de consulta — claves foráneas, email de búsqueda en el login, columnas de ordenación.
- Timestamps en cada tabla. Aburridos hasta que los necesitas; entonces, críticos.
¿Por qué PostgreSQL y no MongoDB o Firebase? Porque las apps que la gente pide son abrumadoramente relacionales — los pedidos contienen artículos, las tareas pertenecen a proyectos, los proyectos pertenecen a usuarios — y las claves foráneas con constraints expresan eso con garantías de integridad que los documentos no pueden dar. Y porque una dependencia de un BaaS de terceros rompería el "un prompt, una app desplegada y funcionando" con la creación de una cuenta en una segunda plataforma. Postgres es lo que elegirías a mano para producción, así que es lo que se genera.
¿Cómo funciona la autenticación generada?
El flujo completo de auth, construido como debe ser, porque la auth es la capa donde los atajos generados se convierten en brechas:
POST /api/auth/register— valida el input, hashea la contraseña con bcrypt (nunca texto plano, nunca reversible), la guarda enpassword_hash, devuelve un JWT.POST /api/auth/login— compara el hash bcrypt, emite un JWT firmado si hay éxito. El mismo error para email incorrecto y contraseña incorrecta (sin enumeración de cuentas).- Middleware en cada ruta protegida verifica el JWT server-side; el frontend lo adjunta automáticamente.
- Propiedad a nivel de fila en las consultas —
WHERE user_id = $1a partir del token verificado, para que cambiar un ID en la URL no pueda leer las filas de otro. - Roles cuando se piden ("el admin puede gestionar productos") — una columna
roleverificada en el middleware, endpoints solo-admin y UI condicional a juego.
Junto a la auth, los defaults de seguridad no opcionales: consultas parametrizadas en todas partes (nada de SQL concatenado en strings), validación de input server-side en cada endpoint, CORS restringido al origen de la app y rate limiting en los endpoints de auth. Revisa la lógica de autorización generada antes de lanzar como revisarías la de un desarrollador júnior rápido — los patrones están bien; las reglas específicas de tu app sobre "quién puede ver los datos de quién" merecen ojos humanos.
6 prompts completos listos para copiar para apps full-stack
Cada uno es completo y ejercita deliberadamente la generación de backend — cuentas, relaciones, roles, agregación. Pega tal cual.
1. Gestor de tareas SaaS con equipos:
Crea una app de gestión de tareas llamada Taskframe donde los usuarios se registran, crean proyectos y añaden tareas con título, descripción, prioridad (baja/media/alta), fecha límite y estado (abierta/en curso/hecha). Los usuarios pueden invitar a compañeros a un proyecto por email; los miembros ven los proyectos compartidos, pero solo el propietario del proyecto puede borrarlo o eliminar miembros. Vistas: un tablero agrupado por estado con arrastre entre columnas, y una vista de lista con ordenación y filtros. El dashboard muestra mis tareas abiertas en todos los proyectos, ordenadas por fecha límite, con las vencidas en rojo. UI clara y limpia, acento índigo.
2. Tienda e-commerce con panel de administración:
Crea una tienda online de cerámica artesanal llamada Kiln & Co. Los clientes navegan una rejilla de productos con filtros por categoría, ven páginas de detalle, añaden al carrito y pagan (formulario de dirección de envío + pago simulado), creando un pedido con historial guardado en su cuenta. Rol de admin: área /admin separada con gestión de productos (crear, editar, archivar productos con nombre, precio, stock, categoría, descripción), lista de pedidos con actualizaciones de estado (pendiente/enviado/entregado) y un resumen de ingresos por mes. El stock se decrementa al hacer pedido; los productos con stock cero muestran agotado y no pueden pedirse. Diseño cálido y minimalista, acento terracota.
3. Plataforma de reservas:
Crea una app de reservas para un estudio de yoga. Público: horario de clases de la semana (nombre, profesor, hora, plazas restantes), registro e inicio de sesión. Los miembros reservan plaza en una clase — con el aforo impuesto server-side para que una clase llena rechace más reservas — y pueden cancelar hasta 2 horas antes del inicio. La página de mis reservas muestra clases futuras y pasadas. Rol de staff: crear y editar clases (nombre, profesor, día de la semana, hora, aforo), ver las listas por clase y marcar asistencia. Evita que el mismo miembro reserve dos veces la misma clase. Diseño sereno en salvia y crema.
4. Tablero de feedback de clientes:
Crea un tablero público de feedback como una herramienta minimalista de roadmap de producto. Cualquiera con sesión iniciada puede enviar una idea (título, descripción, categoría) y votar otras — un voto por usuario por idea, conmutable. Las ideas se ordenan por votos o por recencia; cada una tiene un hilo de comentarios. Rol de admin: cambiar el estado de la idea (en revisión/planeada/en curso/lanzada), fijar ideas y borrar spam. La página pública de roadmap agrupa las ideas por estado en columnas. Los cambios de estado aparecen en un feed de actividad en la idea. Tema oscuro, acento azul eléctrico.
5. App de facturación:
Crea una app de facturación para freelancers. Los usuarios gestionan clientes (empresa, nombre de contacto, email, dirección) y crean facturas: cliente, líneas (descripción, cantidad, precio unitario), tipo impositivo, fecha de vencimiento y un número de factura secuencial autogenerado por usuario. Estados de factura: borrador, enviada, pagada, vencida — la vencida se calcula automáticamente a partir de la fecha de vencimiento. Dashboard: total pendiente, pagado este mes, número de vencidas y un gráfico de barras de ingresos de 6 meses. Página pública de factura de solo lectura en un enlace compartible con diseño apto para imprimir. Diseño profesional en pizarra y blanco.
6. Plataforma comunitaria de recetas:
Crea una plataforma comunitaria para compartir recetas. Los usuarios se registran, publican recetas (título, placeholder de foto, lista de ingredientes, pasos numerados, tiempo de cocinado, dificultad, etiquetas) y editan o borran solo las suyas. Todo el mundo navega por etiqueta o búsqueda de texto completo en títulos e ingredientes; cada receta tiene valoraciones por estrellas (una por usuario, editable) ordenadas por valoración media, más comentarios. Los perfiles de usuario muestran sus recetas y favoritos guardados. Portada: mejor valoradas esta semana y más recientes. El rol de moderador puede eliminar recetas y comentarios. Diseño fresco en verde y crema con títulos con serifa.
Leyendo el patrón: nombra las entidades y sus campos, di quién puede hacer qué ("solo el propietario puede borrar") y menciona cualquier regla que deba cumplirse ("aforo impuesto server-side", "un voto por usuario"). Esas frases se convierten en claves foráneas, middleware y constraints.
¿Cómo funcionan el despliegue y las vistas previas en apps full-stack?
Durante la generación, el frontend corre en una microVM de vista previa en vivo con hot reload, ya hablando con la API real generada — el registro que pruebas en la vista previa escribe filas reales que puedes ver de inmediato en el navegador de tablas del panel de Backend o consultar con SQL puro. Desplegar envía el frontend a la edge de Cloudflare y el backend + PostgreSQL a la infraestructura de VULK, un clic, URL en vivo, dominios personalizados soportados. Los despliegues de backend + PostgreSQL están incluidos desde el plan Builder ($19.99/mes) en adelante; la iteración tras el despliegue es el mismo bucle de prompts de seguimiento, con los cambios de esquema tratados como migraciones en vez de reconstrucciones que destruyen datos.
¿Puedes exportarlo todo e irte? (La respuesta honesta)
La pregunta que hacerle a cualquier plataforma antes de tener 10.000 usuarios. La respuesta de VULK tiene una mitad fuerte y una mitad limitada — aquí están las dos, con precisión:
Lo que se exporta limpiamente:
- Código completo del frontend — descarga ZIP o push a GitHub; un proyecto estándar React + Vite + TypeScript sin dependencias propietarias.
- Tu esquema completo — el
schema.sqlva en la exportación del código. - Todos tus datos — exportación CSV por tabla desde el panel de Backend (la tabla completa, no solo la página visible), más acceso SQL puro vía query runner.
Lo que no: el runtime del backend. El motor de API que sirve los endpoints CRUD generados y la auth es infraestructura alojada de VULK, y el frontend exportado lo llama en su URL alojada. Exporta una app full-stack y el frontend corre en cualquier parte — pero sigue hablando con la API de VULK. Autoalojarlo todo significa reimplementar la capa de API (con tu esquema y datos exportados como especificación completa — una reconstrucción acotada en Express-o-lo-que-sea, pero trabajo real).
Para contexto sobre cómo responde el resto del mercado a la misma pregunta: Lovable/Bolt tienen la portabilidad de datos más limpia — el proyecto Supabase es tuyo, pg_dump y listo (la lógica de backend en edge functions y políticas RLS aún necesita migrarse). Replit da acceso completo al código; la VM es tuya. Base44 no tiene exportación de backend en absoluto. Las herramientas solo-frontend esquivan la pregunta porque nunca tuvieron tus datos. Elijas la herramienta que elijas: prueba el camino de exportación en la semana uno, no en el mes doce.
Preguntas frecuentes
¿Cuál es la diferencia entre un backend real y datos simulados en constructores de IA?
Cuatro tests: los datos sobreviven a los redespliegues; el login verifica las credenciales server-side y emite una sesión; cambiar un ID en una petición no puede leer las filas de otro usuario; y puedes ejecutar SQL contra tu base de datos. VULK, Replit, Databutton y las herramientas delegadas en Supabase (Lovable, Bolt) los pasan. Las demos donde los "datos" viven en un archivo JSON o en localStorage no pasan ninguno — son prototipos vestidos de producto.
¿Necesito saber SQL para construir una app full-stack con IA?
No — describes entidades y reglas en lenguaje normal y el esquema, los índices y las constraints se generan (el 62% de las apps de VULK recibe uno; datos de la plataforma, julio de 2026). Pero el SQL nunca está oculto: el query runner del panel de Backend acepta SQL puro y el esquema va en tu exportación, así que en el momento en que quieras aprender o verificar, todo es inspeccionable. Esa inspeccionabilidad es la diferencia práctica entre "base de datos no-code" y "base de datos generada".
¿Es el código de backend generado por IA lo bastante seguro para producción?
Los patrones generados son los correctos — hashing bcrypt en password_hash, consultas parametrizadas, middleware JWT, consultas limitadas al usuario, auth con rate limiting, CORS. Trátalo como un buen trabajo de un desarrollador júnior rápido: correcto en general, merecedor de una revisión antes del lanzamiento, especialmente las reglas de autorización específicas de tu app (exactamente quién puede leer y modificar las filas de quién). Esa revisión es dramáticamente más fácil cuando el backend es un esquema legible + endpoints REST que cuando es magia opaca de plataforma. La autorización mal configurada es además el principal modo de fallo en el mundo de los backends delegados (RLS de Supabase) — ninguna arquitectura te exime de pensar en ello.
¿Puedo conectar mi propio Supabase o un backend externo?
En VULK, sí — del plan Pro en adelante hay soporte para integraciones que incluyen Supabase (más Railway, Paddle, AWS S3 y otras) con almacenamiento cifrado de credenciales y variables de entorno por proyecto. El comportamiento por defecto es deliberadamente el opuesto: la generación rechaza BaaS de terceros salvo que lo pidas explícitamente, porque el backend generado con cero configuración es la experiencia central. Si tu requisito es "mis datos viven en mi Supabase desde el día uno", Lovable y Bolt están arquitecturados exactamente para eso — una razón legítima para elegirlos.
¿Cuánto cuesta mantener una app full-stack generada con IA?
VULK es solo de pago: $3.99 por un intro de 3 días con acceso total (abonado a tu primer mes), luego Builder $19.99/mes — que incluye el backend desplegado + PostgreSQL, es decir, tu hosting — Pro $39.99/mes (añade BYOM, sincronización con GitHub, dominios personalizados), Max $199/mes. Stacks comparables en otros sitios: Lovable/Bolt desde $25/mes más Supabase por encima de su plan gratuito; Databutton $20/mes (basado en créditos); Base44 desde $20/mes (los bucles de créditos pueden inflarlo). Vía tradicional: un MVP full-stack freelance con auth y base de datos suele empezar en torno a los $10.000. Precios verificados el 17 de julio de 2026.
¿Qué pasa con mi app si cancelo la suscripción?
Tu código y datos son exportables en cualquier momento — ZIP/GitHub del frontend, schema.sql, CSV por tabla — así que cancelar nunca deja los activos atrapados (exporta antes de cancelar). Las partes alojadas — la app desplegada y el runtime de backend que sirve su API — corren en la infraestructura de VULK y no siguen funcionando sin pagar, como en cualquier plataforma alojada. La sección de portabilidad de arriba es el cuadro completo: el frontend corre en cualquier parte de inmediato; la capa de API es tuya para reconstruirla a partir del esquema exportado si te vas. Consejo de previsión que aplica a todas las plataformas de esta guía, la nuestra incluida.
Describe la app — cuentas, datos y todo — y mira cómo el formulario de login funciona de verdad: vulk.dev.


