40 empresas en una sola plataforma. Cada una piensa que es la única.
PesPro es una plataforma multi-tenant para la gestión de servicios profesionales. Cuarenta empresas distintas operan sobre la misma base técnica, con sus propias configuraciones, sus propios usuarios, sus propios datos — y ninguna ve a la otra. El reto no fue construir una. Fue construir cuarenta dentro de una.
PesPro necesitaba una plataforma que escalara por tipo de cliente, no por cantidad.
PesPro vende SaaS a empresas de servicios profesionales: estudios contables, agencias de marketing, despachos legales, consultoras pequeñas. Cada cliente trae sus propias particularidades — flujos de aprobación, formatos de factura, jerarquías de equipo, integraciones con su contabilidad existente.
El sistema previo asumía que todos los clientes funcionaban más o menos igual. La realidad mostró rápido que ese supuesto era falso: cada cliente requería hacks específicos para que la plataforma le sirviera, y cada hack era deuda técnica nueva.
Lo que descubrimos en discovery.
El problema central era arquitectónico: el sistema estaba hecho como una aplicación monolítica con muchos clientes encima, en lugar de una plataforma multi-tenant real con personalización por tenant.
La diferencia técnica parece sutil. La diferencia operativa es enorme: cada cliente que se sumaba en el modelo viejo agregaba complejidad permanente al código. En el modelo correcto, cada cliente nuevo solo agrega configuración.
Arquitectura final.
Schema-per-tenant en PostgreSQL para aislamiento estricto de datos. Migrations coordinadas vía herramienta interna.
Sistema de feature flags + configuración granular de flujos. Lo que para un cliente es "aprobar dos veces antes de enviar", para otro es "enviar directo si es menor a $X".
Clerk con SSO opcional por tenant para clientes enterprise.
Stripe con plan por tenant. Cobros automáticos basados en uso real.
Next.js con tema personalizable por tenant (logo, colores primarios, dominio custom).
Next.js, NestJS, PostgreSQL, Clerk, Stripe, Cloudflare.
Métricas en producción.
PROVISIONALReemplazar con métricas reales verificables antes de publicar.
“Lo que importa no es el código. Es que el código siga funcionando en 5 años. Por eso elegimos a FastNet — escriben para que otros puedan mantener.”