Engagement
SocialSphereMX
Período: mar 2024 —
El reto
Creadores y agencias pequeñas en México estaban pegando con cinta tres o cuatro herramientas SaaS para publicar, medir y monetizar — y cada herramienta tomaba su parte del margen más su propio silo de datos. El cliente pagaba por la integración, no por el valor.
Mi rol
Diseñé y entregué el backend, el módulo de directorio y perfiles, el dashboard de agencia con auth por magic-link, el diseñador de redes sociales, el marketplace y el módulo de analytics — junto al sustrato VPS que sostiene todo el stack.
Lo que hice
01 Sustrato VPS primero, módulos SaaS después
Por qué: El sustrato es lo que evita que un creador pierda sus datos cuando una herramienta SaaS cambia sus términos. Construir módulos sobre el sustrato significa que cada módulo puede intercambiarse sin reconstruir la base.
Trade-off: Más trabajo de sustrato por adelantado que lanzar módulos el día uno. El sustrato se paga solo la primera vez que hay que reemplazar un módulo.
02 Auth por magic-link sobre flujos de reset de contraseña
Por qué: Las contraseñas son una superficie hostil para creadores que usan la plataforma unas pocas veces al mes. Los magic links recortan la superficie de auth a un canal confiable y eliminan la clase de ataques del flujo de reset.
Trade-off: Los magic links dependen de la entregabilidad de email, así que la plataforma necesita un camino de correo endurecido. Corremos nuestra propia instancia Stalwart para sacar la dependencia de la capa SaaS de terceros.
03 Cadena de evidencia por módulo
Por qué: El README de cada módulo apunta a una superficie de verificación — un advisory público, un gist publicado o un export de telemetría del VPS. Un revisor puede verificar la afirmación sin tener que tomar la palabra del operador.
Trade-off: Cada módulo necesita un artefacto que valga la pena enlazar. La restricción fuerza a los módulos a entregarse con evidencia en lugar de solo entregarse.
Lo que cambió
Módulos en producción
Antes: 0
Después: 15 (blog CMS, dashboard de agencia, directorio, analytics, dominios custom, tienda, pagos, page builder, foro, agentes IA, diseñador social, editor de medios, CRM, academia, llamadas)
Superficie de ataque de auth
Antes: Contraseñas + flujos de reset
Después: Solo magic-link, sin DB de contraseñas
Dependencias SaaS de terceros para el sustrato
Antes: Varía por creador
Después: Una (email), Stalwart auto-hospedado
Trade-offs
El producto corre sobre un sustrato VPS endurecido en lugar de una plataforma serverless. El costo es operacional; la ganancia es que el creador es dueño del sustrato y puede migrar módulos sin perder su audiencia.
Lo que aprendí
Para productos de engagement el sustrato ES el producto. El cliente está pagando por control sobre sus datos, no por una UI pulida encima de la plataforma serverless de otro.
Stack
- Next.js 16
- Prisma
- SQLite
- TypeScript
- Tailwind
- Better SQLite3
- ioredis