Academy Manager
AI Product Engineer · Founder build
SaaS multi-academia listo para mercado: estudiantes, pagos, mora, becas, admin de plataforma y docs de producto.
01
Overview
SaaS multi-tenant para academias deportivas: estudiantes, planes, pagos, mora y becas. Nació de operar una academia real, no de un análisis de mercado.
02
El problema
Las academias crecen en alumnos y torneos pero operan con hojas de cálculo y WhatsApp como sistema de verdad. El riesgo no es «les falta una app»: es pérdida de cashflow por mora que nadie ve y caos operativo cuando el dueño no está.
03
Contexto
Surge de Caucana. Al entregar el sitio de una academia real aparecieron los problemas que ningún sitio resuelve: cobros manuales, mora invisible y roles difusos. Lo que empezó como un encargo de cliente reveló un patrón repetible.
04
Usuarios
- Dueño de academia — cobra, decide precios y otorga becas.
- Administrador — inscribe, registra pagos y persigue mora.
- Instructor — consulta su grupo y asistencia.
- Familia / estudiante — ve su plan y su estado de pago.
05
Restricciones
- Multi-tenant desde el primer día: ninguna academia puede ver datos de otra, ni por error de query.
- Datos de menores: permisos y visibilidad no son una feature opcional.
- El producto tiene que ser operable sin mí — de ahí la documentación como entregable.
06
Enfoque de producto
Diseñé el dominio alrededor de academia → estudiante → plan/pago → mora/beca. Separé admin de plataforma (multi-tenant) de la web operativa diaria. Documenté reglas de negocio para que el producto sea operable sin mí.
07
Decisiones de producto
- Modelar mora y becas como reglas del dominio, no como excepciones en la UI. Lo que vive en la UI se olvida al siguiente rediseño.
- Priorizar los flujos cobrables antes que cualquier feature cosmética: el producto existe para que la academia cobre.
- Separar el admin de plataforma (planes, precios por disciplina) de la operación diaria de la academia.
- Documentación de reglas de negocio como parte del entregable, no como anexo.
08
Arquitectura y dominio
Monorepo con API, web de academia, admin de plataforma y documentación. Multi-tenancy por academia aplicada en el acceso a datos, de modo que el aislamiento no dependa de que cada consulta recuerde filtrar: toda operación queda ligada a una academia por construcción.
Academia
tenant
Estudiantes
Planes
Pagos
Becas · Mora · Estado
reglas explícitas
Toda operación queda ligada a una academia: el aislamiento es estructural.
09
AI leverage
Orquestación AI para acelerar el puente API ↔ web, seeds, documentación de reglas y validación cruzada. El ownership humano se mantiene íntegro en cobros y permisos: es donde un error no es un bug, es dinero o privacidad de un menor.
10
Retos de ingeniería
- Aislamiento multi-tenant que no dependa de la disciplina de quien escribe la query.
- Reglas de mora y beca que interactúan: un becado con mora parcial no es un caso raro, es el martes.
- Precios por disciplina sin duplicar el modelo de planes.
11
Resultados
- Monorepo con API + web + admin + docs
- Reglas de mora, becas y precios por disciplina modeladas
- Landing en academy-manager.jsburbano.dev + cliente real en platform.caucanadetaekwondo.com
12
Aprendizajes
- Un servicio bien hecho es discovery pagado: Caucana me dio el problema que Academy Manager resuelve.
- Lo que se modela como regla sobrevive; lo que se resuelve en la UI se pierde en el siguiente rediseño.
13
Contexto adicional
Academy Manager nació para que academias deportivas dejen hojas de cálculo y WhatsApp como sistema de verdad: un tenant por academia, roles claros y reglas de mora/becas explícitas.
El producto incluye web de academia, admin de plataforma (planes, precios por disciplina) y documentación Docusaurus para onboarding de operadores — no solo código, handover de negocio.
Como AI Product Engineer, prioricé flujos cobrables y estados de estudiante/pago antes que features cosméticas: lo que genera mora o fricción de cobro se modeló como reglas, no como excepciones en UI.
Stack
- Next.js
- Express
- Prisma
- PostgreSQL
- Multi-tenant
- Docusaurus
