
El producto hecho con IA ya vendía. Faltaba saber qué se iba a romper
Sistema Forja es una plataforma gamificada de desarrollo personal — tareas, hábitos, metas, finanzas y bienestar en un solo lugar, con XP, ranking, tienda y comunidad encima. No nació en una software house: los propios fundadores la construyeron conversando con una IA, llegaron rápido al mercado y ya tenían 1.312 usuarios activos cuando entró Epicora. El diagnóstico encontró lo que el vibe coding no resuelve solo: los ocho endpoints de servidor aceptaban peticiones sin autenticación — incluidos los de pago — y los hábitos, las metas y los registros diarios de sueño y ánimo de cualquier usuario estaban visibles para los demás. En cerca de tres semanas cerramos las fallas, migramos la infraestructura de ~R$ 2.000 a ~US$ 20 al mes y devolvimos el producto funcionando en las cuentas del propio cliente.
- Cliente
- Sistema Forja — plataforma gamificada de desarrollo personal
- Lo que hicimos
- Diagnóstico técnico de un producto construido con IA (vibe coding) — seguridad, arquitectura, costo y deuda técnica — con las correcciones aplicadas, la infraestructura migrada y el producto devuelto en las cuentas del cliente
- Plataforma
- React 18 + TypeScript + Vite · Supabase (PostgreSQL con RLS, Auth, Edge Functions en Deno) · PWA · webhooks de pago · Vercel · GitHub
El punto de partida
Forja hizo lo que todo producto nuevo debería hacer: llegó al mercado antes de quedar bonito. Los fundadores construyeron la plataforma conversando con una IA — sin equipo de ingeniería, sin arquitectura diseñada, sin repositorio con dueño. Cuando entró Epicora, en febrero de 2026, había 1.312 usuarios activos, planes mensuales, trimestrales, semestrales y vitalicios en venta, y todo el roadmap de gamificación funcionando: XP, streaks, logros, ranking, tienda de monedas, desafíos semanales, duelos entre usuarios. Más de 40 tablas, 14 páginas, ocho funciones de servidor. Funcionaba, y vendía.
Ahí llegó la cuenta. No como pantalla rota, sino en las tres cosas que el vibe coding no resuelve por su cuenta: quién puede llamar a qué, quién paga la infraestructura y qué pasa el día en que algo salga mal. El diagnóstico se hizo sobre el código, la base de datos y la configuración de la plataforma en producción, y salió con nueve hallazgos — dos de corrección inmediata.
- Los ocho endpoints de servidor aceptaban peticiones sin autenticación. Entre ellos los de pago: sin verificación de firma, quien descubriera la URL podía simular una compra aprobada y darse una suscripción vitalicia, acreditarse monedas ilimitadas o cancelar la suscripción de otra persona. Uno de ellos permitía borrar registros históricos del sistema.
- Datos estrictamente privados estaban visibles para toda la base. Las tareas, hábitos, metas y los registros diarios de sueño, ánimo y productividad de cualquier usuario podían ser leídos por cualquier otro — y parte de ellos, sin siquiera estar autenticado. Una tabla tenía una regla que permitía a cualquiera crear, editar y borrar registros de cualquier otro.
- Las credenciales de la base estaban versionadas en el repositorio — el archivo de entorno no estaba en `.gitignore`, lo que expone la infraestructura y sobrevive en el historial de Git incluso después de eliminarlo.
- La regla de negocio vivía en el navegador del usuario. Sin capa de servidor, incluida la que decide cuánto XP gana alguien — el equipo ya vigilaba manualmente, desde el panel, quién estaba haciendo trampa en su propio juego.
- La factura de infraestructura crecía sin visibilidad. El entorno corría en la nube gestionada de la propia herramienta de IA, con cobros diarios que pasaron días sin que nadie los notara, y compra de crédito por encima del consumo real: cerca de R$ 2.000 al mes.
- Ninguna prueba automatizada, ningún monitoreo, ningún entorno de homologación y ninguna documentación. Los cambios iban directo a producción, sobre usuarios que pagaban, y si un pago fallaba nadie era avisado. El conocimiento de cómo funcionaba la plataforma vivía en la conversación con la IA.
El giro
La primera decisión es la que más importa en un diagnóstico: separar el riesgo de la preferencia. Un producto con suscriptores pagando no puede detenerse para quedar elegante, y la mayor parte de lo que un ingeniero critica en código generado por IA es estética, no riesgo. Así que cada hallazgo salió con la misma forma — criticidad, urgencia, qué estaba configurado, la evidencia en el código y el ataque que permitía — y la fila se ordenó por consecuencia, no por gusto: primero lo que causa pérdida directa y filtra dato personal, después lo que impide crecer, y la deuda técnica al final.
Las dos correcciones críticas entraron primero, y ambas eran sobre dinero y cuentas de usuario: verificación de firma en los webhooks de pago, rechazando antes de cualquier procesamiento la petición sin el secreto correcto, y token válido obligatorio en las funciones administrativas, que dejaron de aceptar llamadas anónimas. Después vino el resto: las políticas de acceso a la base reescritas para que cada persona alcance estrictamente su propio registro, credenciales fuera del código, orígenes de petición restringidos, límite de intentos en el login y en la verificación de correo, y el almacenamiento de archivos aislado por usuario.
El segundo frente fue el costo. La infraestructura salió de la nube gestionada de la herramienta de IA — la opción más cara y menos visible — hacia una base gestionada propia más hosting de front dedicado, con backup automático y dominio propio. La cuenta bajó de cerca de R$ 2.000 al mes a cerca de US$ 20 al mes. Usuarios y los propios dueños relataron una plataforma más rápida después de la migración. Y el tercer frente fue escribir lo que no existía: Términos de Uso y Política de Privacidad conformes a la LGPD brasileña, con base legal por finalidad, retención, eliminación de cuenta y qué ve un usuario de otro en el ranking y en los duelos.
La decisión que lo desbloqueó
Estabilizar primero, evolucionar después — y no reescribir nada. El producto tenía 1.312 usuarios activos, gamificación madura y un módulo financiero que los fundadores ya habían refinado con su propia base. Reescribir de cero tiraría el activo más caro: el entendimiento de producto que el cliente tenía y nosotros no. El diagnóstico fue explícito en lo que no recomendaba — la arquitectura sin servidor propio era adecuada para esa escala, y cambiarla antes de cerrar seguridad y proceso sería gastar en el lugar equivocado.
Lo que entregamos
01 · El diagnóstico de lo que construyó la IA
Un informe técnico de 24 páginas con el retrato de la plataforma en producción: nueve hallazgos, dos de corrección inmediata, cada uno con criticidad, urgencia, la evidencia en el código y el ataque que permitía. Más el mapeo completo de la base de datos, el análisis de calidad y mantenibilidad, el inventario de accesos y el plan de acción en cuatro fases. No es una lista de quejas: es una fila de decisión.
02 · Las correcciones aplicadas, no solo señaladas
Webhooks de pago y de monedas con verificación de firma; funciones administrativas exigiendo autenticación; políticas de acceso a la base reescritas por usuario y por rol, volviendo privados tareas, hábitos, metas y registros de bienestar; credenciales fuera del código; orígenes de petición restringidos; límite de intentos en login y verificación de correo; almacenamiento de archivos aislado por usuario. Un diagnóstico que solo señala es un presupuesto — este vino con el arreglo.
03 · La infraestructura migrada, con la cuenta bajo control
Salida de la nube gestionada de la herramienta de IA hacia una base gestionada propia y hosting de front dedicado, con backup automático — lo que la configuración anterior no garantizaba — y dominio propio. De cerca de R$ 2.000 al mes a cerca de US$ 20 al mes, sin sacar el producto del aire y sin perder un solo registro.
04 · La nueva base y la documentación que faltaba
Cuatro etapas de una base propia construidas y demostradas en homologación: infraestructura, CI/CD y design system; cuenta del usuario y panel de gestión de la base; tareas y hábitos reconstruidos sobre backend propio, con kanban, lista, calendario y hábitos de tres tipos; y notificaciones por web push y correo con preferencia por canal. Más cinco temas visuales completos y los Términos de Uso y la Política de Privacidad que la plataforma nunca tuvo.
Cómo lo garantizamos
Hallazgo con evidencia y ataque — no opinión sobre el código
Cada ítem del informe trajo el fragmento de configuración o de código que lo sostiene, lo que un atacante lograría con eso y cómo quedaría después de la corrección. Es lo que separa un informe que genera decisiones de uno que genera ansiedad — y es lo que permitió atacar las dos fallas críticas en la primera semana, en vez de empezar por la deuda técnica más visible.
Corregir sin sacar el producto del aire
Las correcciones entraron por rama y revisión, sobre un producto con suscriptores usándolo todos los días. Nada se trató como "paremos para arreglar": el sistema siguió vendiendo y recibiendo ajustes de interfaz y corrección de bugs en el mismo período en que se cerraba la seguridad y se construía la nueva base.
Devolver un producto operable por quien no es ingeniero
El handover no fue entregar un repositorio, fue entregar autonomía: código en la cuenta del cliente, deploy propio, base accesible directamente y un camino definido entre la rama de trabajo y producción. El cliente siguió editando el producto con la misma herramienta de IA que ya dominaba. Junto fue lo que aún era riesgo en sus manos, por escrito — incluida la base única sin homologación, donde un cambio de estructura vale de inmediato.
El resultado
El mejor resultado de este proyecto es el más contraintuitivo: Epicora salió, y el producto siguió de pie y evolucionando. En un mercado donde los competidores clonan funcionalidades en días usando las mismas herramientas de IA, la velocidad de reacción era la prioridad del cliente — y quería trabajar en la app con sus propias manos. En vez de tratarlo como pérdida, lo tratamos como el cierre correcto: fallas críticas cerradas, costo bajado, riesgos documentados, llaves entregadas.
Y esa es la respuesta honesta a la pregunta que todos hacen antes de contratar una auditoría de código generado por IA — "¿voy a tener que tirar lo que ya está hecho?". No. Lo que la IA construyó siguió en el aire, sirviendo a toda la base, y recibiendo funcionalidad nueva. Lo que cambió fue lo que estaba debajo.
Soluciones relacionadas
Casos relacionados
¿Lo construiste con IA y no sabes qué se va a romper al crecer?
Epicora audita software hecho con IA y devuelve un retrato honesto: qué es riesgo, qué es solo deuda técnica y qué se puede aprovechar. Sin reescribir todo a ciegas — y sin sacar el producto del aire.