Varela Insights
📚 Archivo. Este contenido se publicó originalmente en el blog de Varela Insights y se conserva en su dirección original. El contenido nuevo vive en varelainsights.com/blog.

Cómo Construir un Centro de Mando de IA con 14 Endpoints y React 18

Publicado el 4 feb 2026 · Irving Varela
Cómo Construir un Centro de Mando de IA con 14 Endpoints y React 18

Cómo Construir un Centro de Mando de IA con 14 Endpoints y React 18

La Brecha Entre Planear y Ejecutar

Hay una diferencia brutal entre diseñar un sistema en papel y tenerlo funcionando en producción. Durante años he visto proyectos que lucen impresionantes en diagramas de arquitectura, pero que nunca llegan a desplegarse. Este artículo documenta el recorrido de llevar un Centro de Mando de IA desde el concepto hasta producción, con 14 endpoints activos, React 18 en el frontend, y múltiples integraciones funcionando en paralelo.

Lo que hace especial este caso no es la tecnología en sí, sino la combinación de decisiones arquitectónicas que permitieron mantener la complejidad bajo control mientras se agregaban capacidades avanzadas.

Arquitectura del Sistema: Flask + React 18

El stack tecnológico se construyó con pragmatismo sobre purismo:

La decisión de usar Flask sobre FastAPI se basó en simplicidad y ecosistema maduro. Cuando tienes 14 endpoints que necesitan funcionar de manera confiable, prefieres un framework battle-tested sobre el más moderno.

Los 14 Endpoints que Importan

No todos los endpoints son creados iguales. La arquitectura se diseñó alrededor de capacidades específicas:

  1. Gestión de proyectos: CRUD completo para Work Packages con sync automático a OpenProject
  2. Tracking de progreso: Extracción de CCDs (Cosas Completadas en el Día) desde texto libre
  3. Inteligencia de voz: Integración con Gemini TTS y Chatterbox para voice cloning
  4. Sistema de asistencia: Reconocimiento facial con InsightFace para registro de empleados
  5. Lead management: Pipeline completo desde detección hasta clasificación

Cada endpoint fue diseñado con idempotencia en mente. Si un request falla, puede reintentar sin crear duplicados o corromper estado.

Integraciones de IA en Producción

La verdadera magia ocurre cuando múltiples sistemas de IA trabajan juntos de forma coordinada.

Gemini TTS: De Texto a Audio en 3 Segundos

La implementación del Text-to-Speech usa el modelo `gemini-2.5-flash-preview-tts` con la voz "Zephyr". El flujo es:

def generate_tts_gemini(text):
# Genera PCM 24kHz mono
pcm_audio = gemini_api.synthesize(text, voice="Zephyr")
# Convierte a MP3 con ffmpeg
mp3_audio = ffmpeg_convert(pcm_audio)
return mp3_audio

Latencia promedio: 3 segundos. Esto permite respuestas de voz en tiempo real para bots de Telegram sin infraestructura compleja.

Chatterbox TTS: Voice Cloning Local

Para casos que requieren voz personalizada, se implementó Chatterbox (open-source) corriendo localmente:

La dualidad Gemini (rápido) + Chatterbox (personalizado) cubre todo el espectro de necesidades.

InsightFace: Reconocimiento Facial sin Cloud

Para el sistema de asistencia de empleados, se implementó InsightFace corriendo en Docker:

La combinación con chatbot de IA permite que empleados consulten su historial de asistencia en lenguaje natural.

Auto-Recuperación y Resiliencia

Un sistema en producción no puede requerir supervisión constante. Se implementaron tres mecanismos de auto-recuperación:

1. Auto-Retry Engine (n8n)

Workflows que fallan se reintentan automáticamente con backoff exponencial. Configuración:

2. Health Check Cada 5 Minutos

Un timer de systemd ejecuta verificaciones de salud:

Persistent=true  # Ejecuta inmediatamente si el sistema estuvo apagado
OnCalendar=*:0/5  # Cada 5 minutos

Si detecta problemas, envía diagnóstico completo a Telegram con logs relevantes.

3. Docker Monitor

Monitorea contenedores críticos y los reinicia automáticamente si detecta:

Gestión de Estado: Single Source of Truth

La complejidad de múltiples sistemas se manejó estableciendo un SSoT (Single Source of Truth):

Cualquier otro sistema que necesite estos datos los consume vía API, nunca duplica. Esto elimina problemas de sincronización.

Lecciones Aprendidas

1. Start Simple, Add Complexity Only When Needed

El sistema comenzó con 3 endpoints. Llegó a 14 porque cada uno resolvía un problema real, no por completitud arquitectónica.

2. Monitoreo > Logging

Logs detallados son útiles para debugging, pero monitoreo activo con alertas previene problemas antes de que los usuarios los reporten.

3. Deployment es Feature

Si un sistema requiere 20 pasos manuales para desplegarse, no se desplegará. Automatización de deployment debe ser prioridad uno.

Conclusión

Construir un Centro de Mando de IA funcional requiere más que juntar tecnologías modernas. Requiere decisiones arquitectónicas que prioricen confiabilidad sobre novedad, automatización sobre control manual, y simplicidad sobre completitud.

Los 14 endpoints no son el punto final, son la base sobre la cual seguir construyendo. La arquitectura permite agregar nuevas capacidades sin reestructurar lo existente, que es exactamente lo que un sistema en producción necesita.

Lo más importante: el sistema está en producción, sirviendo usuarios reales, no en un repositorio esperando "el momento correcto" para desplegarse. Esa es la única métrica que realmente importa.

Audita la visibilidad de tu negocio en IA →