Saltar al contenido
Volver a proyectos

NONSTOP Fitness Center

El gimnasio abre 24 horas. Ahora el entrenador también.

Desarrollé NS Coach para NONSTOP Fitness Center: el entrenador que atiende por WhatsApp a los socios del gimnasio, el CRM donde el gimnasio lee cada conversación y el sitio público. Diseñé la arquitectura, el motor de conversación por nodos y la integración con ProGym, el sistema administrativo que ya usaban.

nonstopgym.com.mx
Mi rol
Arquitectura, backend, motor de conversación e integración con IA
Sector
Gimnasio / Fitness
Alcance
Bot de WhatsApp con IA + CRM + Sitio web
13 nodos
Flujo conversacional editable
26 aparatos
Con foto, zona e instrucciones
+1,000
Ejercicios con pasos y errores
9 preguntas
Entrevista al socio nuevo

Stack

  • React (Vite)
  • TypeScript
  • Tailwind CSS
  • React Flow
  • Astro
  • Node.js
  • Express
  • MongoDB
  • MySQL (ProGym)
  • Almacenamiento S3
  • OpenAI GPT-4o
  • WhatsApp Cloud API
  • Resend

Pantallas

Capturas del sistema real en operación.

Bot de WhatsApp

NS Coach, el entrenador que contesta por WhatsApp

El inbox donde el gimnasio ve, en un solo lugar, todas las conversaciones del bot. Dentro de cada una está lo que hace NS Coach: manda la rutina del día con series, repeticiones, descanso, peso inicial y la foto del aparato; propone el sustituto cuando la máquina está ocupada; marca la rutina como completada y lleva la cuenta de la semana. Con un socio nuevo arranca la entrevista de nueve preguntas —incluidas lesiones y condiciones médicas— antes de armarle nada. Desde el mismo panel se configura el perfil de negocio que los socios ven en WhatsApp.

App web

El flujo de conversación, editable en pantalla

Trece nodos y quince conexiones que definen cómo piensa el bot: entrada, validar socio, entrevista, generar el plan, rutina del día, foto del ejercicio, sustitución, pasar a un asesor. Cada nodo se ata a un handler del backend —el motor sólo ejecuta los permitidos, así que cambiar el texto nunca rompe una regla de seguridad— y trae su propio prompt. El flujo se versiona y se publica cuando queda listo.

CRM

CRM: padrón, adopción y planes semanales

El tablero mide lo que importa de un asistente: cuántos socios lo usan hoy, cuántos en la semana, cuántas rutinas se completaron y quiénes llevan más de dos días sin entrenar —esos reciben recordatorio automático. El padrón se sincroniza desde ProGym con su bitácora de cada corrida, y la ficha de cada socio concentra nivel, objetivo, estado de la membresía y si ya hizo la entrevista. Los planes semanales que generó la IA se revisan día por día, con el avance de la semana.

App web

El catálogo del que se alimenta la IA

Lo que evita que el bot recomiende cosas que el gimnasio no tiene. Los 26 aparatos llevan número, nombre en cristiano —«máquina de aperturas de pecho (mariposa)»—, zona, foto y cómo se usan. Los más de mil ejercicios traen pasos, músculo, dificultad y errores comunes, que es lo que el bot lee cuando alguien pregunta cómo se hace algo. Las rutinas base y la fototeca del gimnasio completan el material.

Sitio web

Sitio público

La cara del gimnasio: clases, horario semanal completo, planes y precios, y las preguntas frecuentes. Cada camino termina en el mismo lugar —una conversación de WhatsApp con NS Coach—, que es el canal por el que el negocio realmente atiende. Incluye el aviso de privacidad que exige la LFPDPPP y que Meta pide para operar la WhatsApp Business API.

El problema

NONSTOP abre 24 horas y tiene casi tres mil socios. Un instructor puede atender a uno a la vez, y las dudas no llegan en horario de oficina: llegan a las seis de la mañana y a las once de la noche. El gimnasio necesitaba entregar rutina, corregir ejercicios y resolver dudas fuera de ese cuello de botella, sin poner un instructor por turno. Y necesitaba hacerlo donde el socio ya está, no en otra app que nadie va a descargar.

Lo que construí

Construí el bot sobre WhatsApp Cloud API con GPT-4o. Lo primero que hace es identificar al socio: toma el número, lo busca en ProGym y confirma que la membresía esté vigente. Si es nuevo, levanta una entrevista de nueve preguntas —edad, tiempo entrenando, condiciones médicas, lesiones, objetivo, tiempo por sesión, días disponibles— y con eso genera el plan semanal; cada día que el socio llega, le manda la rutina que le toca con series, repeticiones, descanso, peso inicial y la foto del aparato. De ahí conversa: propone sustituto si la máquina está ocupada, ajusta si algo duele, explica el ejercicio paso a paso, marca la rutina como completada y, cuando la pregunta ya no es de entrenamiento —un cargo, un cambio de plan, un horario—, escala a recepción en vez de improvisar. Del otro lado entregué el CRM: el inbox completo, el padrón sincronizado, los planes que generó la IA y el catálogo del que la IA se alimenta, más el sitio público que empuja cada camino hacia la misma conversación de WhatsApp.

Decisiones técnicas

  1. 01

    El flujo es dato, no código

    La conversación no está escrita a mano: son trece nodos y quince conexiones que se editan en pantalla con React Flow, se versionan y se publican. El texto, el tono y las reglas de estilo cambian sin tocar el backend.

  2. 02

    Handlers permitidos, no ejecución libre

    Cada nodo se ata a un handler del backend y el motor sólo ejecuta los que están en la lista permitida. Quien edita un prompt no puede romper una regla de negocio ni saltarse la validación de membresía.

  3. 03

    La IA sólo recomienda lo que hay en la sala

    Los 26 aparatos y los más de mil ejercicios viven en un catálogo administrable, con foto, zona, pasos, músculo y errores comunes. Ese catálogo es el piso del modelo: sin él, el bot inventa máquinas que el gimnasio no tiene.

  4. 04

    Integración con ProGym, el sistema legacy

    Resolví la validación de membresía y la sincronización del padrón contra la base MySQL de ProGym, con bitácora de cada corrida. El gimnasio no tuvo que cambiar su sistema administrativo para poder usar el bot.

  5. 05

    El tablero mide adopción, no mensajes

    El dashboard responde lo que el dueño sí pregunta: cuántos socios lo usaron hoy y en la semana, cuántas rutinas se completaron y quién lleva más de dos días sin entrenar. A esos el bot les manda un recordatorio por la mañana.

Siguiente proyecto

Toyota

Prospección automática de contactos y un CRM de tablero para el equipo comercial.