Es una plataforma SaaS multi-tenant para gimnasios: una sola base de datos y un solo código sirven a N gimnasios, cada uno con sus socios, entrenadores y configuración, aislados entre sí. Es un proyecto personal que nació con un cliente real: un centro de entrenamiento de León, que es quien la estrena. It's a multi-tenant SaaS platform for gyms: one database and one codebase serve N gyms, each with its own members, trainers and settings, isolated from one another. It's a personal project born with a real client: a training centre in León, which is the first to use it.
El problema que ataca no es "gestionar un gimnasio", sino la retención: la mayoría de la gente que se apunta deja de ir a los pocos meses. Por eso el producto une en un mismo sistema al socio y al entrenador (entrenamientos, progresión, plan semanal, citas) y le añade una capa de gamificación diseñada desde por qué vuelve la gente, no desde qué botones tiene la pantalla. The problem it tackles isn't "managing a gym" but retention: most people who sign up stop going within a few months. So the product brings member and trainer into one system (workouts, progression, weekly plan, appointments) and adds a gamification layer designed around why people come back, not around what buttons the screen has.
Tiene dos caras: una app móvil (React Native + Expo) para socios y entrenadores, y un panel web (Next.js) para el dueño y el staff. Todo apoyado en Supabase / PostgreSQL, con la lógica crítica viviendo en el servidor. It has two faces: a mobile app (React Native + Expo) for members and trainers, and a web panel (Next.js) for the owner and staff. All of it backed by Supabase / PostgreSQL, with the critical logic living on the server.
Lo que empezó para un solo centro se convirtió en producto. El modelo soporta cadenas con varias sedes, donde cada sede puede llevarle la contraseña a su central en lo que le afecta, y tiene un modelo de precios cerrado —degresivo por socio activo, con mínimo y tope por sede— pensado para que un gimnasio pequeño pueda pagarlo el primer mes. What started for a single centre became a product. The model supports chains with several branches, where each branch can override its head office on what affects it, and it has a closed pricing model — degressive per active member, with a floor and a per-branch cap — designed so a small gym can afford it from month one.
Y una parte que no se ve en las pantallas y condiciona todo lo demás: la app maneja lesiones, mediciones corporales y nutrición. Eso son datos de salud, categoría especial del artículo 9 del RGPD. No es una funcionalidad más: cambia cómo se guarda, quién puede leerlo, cuánto tiempo se conserva y qué pasa el día que alguien pide sus datos o quiere borrarse. And a part you don't see on screen that shapes everything else: the app handles injuries, body measurements and nutrition. That is health data — GDPR Article 9 special category. It isn't just another feature: it changes how it's stored, who can read it, how long it's kept and what happens the day someone asks for their data or wants to be erased.