Cómo estructurar un proyecto full-stack con IA sin que se convierta en un monstruo
Montar un SaaS con IA, React, FastAPI y automatizaciones no es difícil. Lo difícil es que el proyecto siga siendo mantenible seis meses después. Aquí van las decisiones de arquitectura que más me han ayudado con RecruitAI.
01 Centraliza los prompts o te arrepentirás
Al principio tenía prompts en FastAPI, en N8N y en scripts sueltos. Cada vez que quería ajustar el tono o la estructura de salida, tenía que perseguir strings por tres repositorios distintos. Ahora todos los prompts viven en un módulo de Python. N8N los referencia por nombre, no por copia.
Cuando cambié de Ollama a GPT-5.5-pro, solo tuve que tocar un archivo. Si hubiera tenido los prompts esparcidos, habría sido una tarde entera de buscar y reemplazar.
02 Estados de carga que no mientan
Con modelos de razonamiento como o3 o GPT-5.5, una llamada puede tardar 40 segundos. Si tu frontend muestra un spinner genérico, el usuario se va. En RecruitAI implementé estados intermedios: analizando CV, comparando con ofertas, generando informe. No es magia, es un enum de estados y tres condicionales en el componente.
03 No te cases con un proveedor de IA
Empecé con Ollama Cloud. Luego o3 de OpenAI. Ahora GPT-5.5-pro. Si tu código asume un solo endpoint, cada migración es un refactor. Si encapsulas la llamada en una capa de abstracción fina, cambiar de modelo es tocar un diccionario.
MODELS = {
"fast": "gpt-5.4-nano",
"balanced": "gpt-5.5-pro",
"reasoning": "o3",
}04 Automatización sin volverse loco
Uso N8N para todo lo que no justifica código: publicar en Google Business Profile, enviar emails cuando un candidato hace match, generar posts de blog como este. La regla: si el flujo tiene más de tres ramas condicionales, va a Python. Si no, N8N.
¿Estás montando algo con IA? Cuéntame en los comentarios qué decisiones de arquitectura te están dando más guerra.