MenuGen: Una aplicación web completamente construida con IA
MenuGen es una aplicación web que permite a los usuarios fotografiar menús de restaurante y generar representaciones visuales de cada plato descrito. Su creador es un desarrollador sin experiencia formal en desarrollo web que construyó esta solución durante un hackathon de "vibe coding"—una metodología que utiliza inteligencia artificial para generar código automáticamente. Después de completar una versión inicial en el evento, continuó refinando la aplicación hasta su lanzamiento público, agregando autenticación de usuarios, sistemas de pago y otras características esenciales.
El prototipo local se desarrolló a una velocidad notable. Utilizando el editor Cursor y Claude, la interfaz visual se generó en cuestión de horas, incluyendo componentes React, diseño responsivo, animaciones CSS y layouts pulidos. Este progreso inicial creó una ilusión de estar 80% completo, cuando en realidad el trabajo más desafiante apenas estaba comenzando.
Los obstáculos emergieron rápidamente durante la integración con APIs externas. OpenAI se utilizó para el reconocimiento óptico de caracteres del contenido del menú, mientras que Replicate manejó la generación de imágenes de platos. Ambos servicios implementaron límites estrictos de velocidad de solicitudes que ralentizaron considerablemente el desarrollo. Claude alucinaba frecuentemente sobre APIs descontinuadas y convenciones obsoletas, requiriendo consultas repetidas de documentación oficial para resolver conflictos entre sugerencias de IA y especificaciones reales.
El proceso de implementación presentó complejidades adicionales. Al configurar Vercel, el desarrollador encontró errores de compilación ausentes en el entorno local, descubriendo que las claves de entorno requerían inserción manual en la configuración de Vercel. Implementar autenticación a través de Clerk requirió configuración laboriosa, incluyendo comprar un dominio personalizado, integrar OAuth de Google, y navegar menús anidados y configuraciones dispersas en múltiples servicios.
La integración de Stripe para pagos introdujo más complicaciones. Claude propuso un enfoque fundamentalmente defectuoso para acreditar usuarios después de pagos exitosos: emparejar por dirección de correo en lugar de identificadores únicos de usuario. Este error potencialmente catastrófico solo fue prevenido porque el desarrollador detectó y corrigió manualmente la lógica. El proceso completo resultó agotador, con la mayor parte del tiempo gastado no escribiendo código sino navegando dashboards de servicios, configurando integraciones y depurando problemas específicos de cada plataforma.