Escribimos

Vibe coding: qué pasa con el primer cliente

Las aplicaciones generadas con IA no se caen a la vez. Se rompen en un orden predecible, y casi siempre por sitios que nadie decidió.

Autor: Carlos MartínezLectura 6 minvibe coding · producción

Qué pasa el primer día

Nada. El primer cliente entra, usa la aplicación y funciona, porque hace exactamente lo que hacía cuando la probaste tú. Lo que cambia ese día es que ya hay alguien que no puede esperar a mañana.

Las cosas empiezan a romperse a las pocas semanas. Se rompen porque hay decisiones que nadie tomó, ni tú ni el modelo, y que solo aparecen cuando hay dos personas dentro a la vez.

Esto no va de si generar código con IA está bien o mal. Nosotros lo usamos todos los días. Va de qué falta cuando lo único que has pedido es que funcione. Si buscas la definición del término, está en vibe coding.

El orden en que se rompe

Se rompe antes lo que solo falla con más de un usuario, y después lo que solo falla con dinero de por medio. Lo que falla con el tiempo tarda más, y lo último en aparecer es lo que solo se nota cuando alguien mira desde fuera.

1. La autenticación va para uno y no para muchos

Con un usuario, cualquier cosa parece una sesión. Con varios aparecen las preguntas que no se hicieron: cuánto dura la sesión, cómo se expulsa a alguien que se ha ido de la empresa, qué ve un usuario si escribe en la barra de direcciones el identificador de otro.

Ese último caso es habitual: la pantalla comprueba qué te enseña, pero la consulta a la base de datos no comprueba de quién son los datos. Con una sola cuenta es invisible.

2. Los datos se guardan dos veces

El cliente pulsa dos veces porque la primera tardó. Se crean dos pedidos. Nadie decidió qué debía pasar ahí.

La versión cara es cuando la duplicación no se ve: dos registros idénticos con identificadores distintos, que luego se suman en un informe y cuadran mal por una cifra que nadie sabe de dónde sale.

3. Los pagos cobran pero no registran

El cobro se hace fuera, en la pasarela, y funciona. Lo que falta es lo que pasa después: la pasarela avisa de que ha cobrado y ese aviso llega una vez, o llega tres veces, o llega cuando la aplicación estaba reiniciándose.

Sin nada que reconcilie las dos partes, la cuenta de la pasarela y la de tu base de datos se separan despacio. Se descubre cuadrando el mes, cuando ya hay que devolverle dinero a alguien.

4. El correo sale de una cuenta personal

Funciona hasta que el volumen sube y todos los envíos salen de la misma dirección personal. A partir de ahí, parte de los avisos acaba en spam sin que nadie lo vea, porque no se comprueba si el correo se entregó.

5. Las claves están en el código

Las contraseñas de la base de datos y las llaves de la pasarela de pago, escritas dentro de los ficheros. Aguanta mientras el repositorio sea privado y lo abras solo tú.

Deja de aguantar el día que entra una persona nueva, o que el repositorio deja de ser privado. Entonces hay que cambiarlas todas, y como nadie sabe cuántos sitios las usan, cambiarlas rompe cosas.

Y una sexta que llega más tarde

Nadie sabe qué había ayer. No hay copias de seguridad, o las hay y nunca se ha restaurado ninguna. Se descubre el día que hace falta.

Síntoma, causa y qué se hace

SíntomaCausaQué se hace
Un cliente ve datos de otroLa consulta filtra en la pantalla, no en la base de datosSe mueve la comprobación de permisos al acceso a datos y se prueba con dos cuentas
Pedidos repetidosSin clave única ni control de reintentosClave única de negocio y operaciones que se pueden repetir sin duplicar
La pasarela y tu base de datos no cuadranEl aviso de cobro se procesa una vez, o ninguna, o tresRegistro de cada aviso recibido, reintentos y un cuadre que se ejecuta solo
El cliente dice que no le avisasteEnvío desde cuenta personal, sin registro de entregasDominio propio con su configuración de envío y registro de qué se entregó
Hay que cambiar una clave y da miedoCredenciales escritas en el códigoClaves fuera del código, rotables, y un inventario de dónde se usa cada una
Nadie sabe qué había ayerSin copias de seguridad probadasCopias automáticas y una restauración hecha delante del cliente

Por qué no es culpa de quien lo montó

Porque nadie le pidió eso. Lo que pediste fue una aplicación que hiciera algo, y la tienes. Ninguna de las seis cosas de arriba aparece en la conversación con un modelo salvo que las nombres tú, y para nombrarlas hay que haberlas sufrido antes.

La primera versión de un producto es hoy la parte barata. Lo caro sigue siendo el segundo año, cuando hay clientes que ya no se pueden perder.

Qué hacemos con eso

Leerlo primero. Antes de decir si sirve o no sirve, abrimos lo que hay: la aplicación, la base de datos, lo que alguien está arreglando a mano cada semana y lo que ya se rompió una vez.

Casi nunca hay que tirarlo. Lo que montaste tiene dentro las decisiones reales de tu negocio, y eso no está escrito en ningún otro sitio. Qué se conserva y qué se cambia está contado, con el orden en que se hace, en de prototipo a producción.

Y si todavía no tienes clientes, quédate donde estás.

Por dónde empezar mañana

Coge tu aplicación y prueba las tres primeras a mano. Entra con dos cuentas distintas y cambia el identificador en la dirección. Pulsa dos veces el botón de pagar. Busca las claves con un buscador de texto en el repositorio.

Si alguna te da un resultado que no te gusta, ya sabes por dónde va la conversación. Si prefieres que lo miremos con el sistema delante, eso es un diagnóstico.

  1. De prototipo a producciónServicio

¿Te está pasando en tu propio sistema?

El diagnóstico le pone número y orden sobre tu propio código.

Pedir un diagnóstico