LoverFans
Plataforma de contenido por suscripción construida con Vue.js. Diseñé el sistema de monetización para creadores, los controles de acceso al contenido, la gestión del ciclo de vida de las suscripciones y la integración del procesamiento de pagos para una plataforma que atendía a miles de usuarios.
Tecnologías
Vue.js · Node.js · PostgreSQL · Stripe
Las plataformas de monetización para creadores parecen simples desde afuera — un creador publica contenido, los fans se suscriben, el dinero se mueve. La realidad técnica es más compleja. El estado de la suscripción tiene que ser la fuente de verdad para el acceso al contenido en cada solicitud. Los fallos de pago necesitan rutas de degradación controlada. Los creadores necesitan paneles financieros en los que puedan confiar. Los fans necesitan un historial de facturación claro y cancelación por autoservicio. Si cualquiera de estos falla, se destruye la confianza en ambos lados del mercado.
LoverFans era una plataforma de contenido por suscripción construida para el mercado español. La arquitectura tenía que soportar miles de usuarios concurrentes, precios controlados por el creador, modelos de acceso por niveles y flujos de pago confiables a gran escala.
Qué se construyó
El núcleo del proyecto era el sistema de monetización y control de acceso. Cada pieza de contenido lleva una política de acceso — gratis, solo para suscriptores o de pago por evento. Estas políticas se evalúan del lado del servidor en cada solicitud de contenido, nunca del lado del cliente, de modo que el estado de la suscripción no se pueda falsificar desde el navegador.
El ciclo de vida de la suscripción cubre: períodos de prueba, facturación recurrente con precios mensuales y anuales configurables por creador, flujos de cobranza para pagos fallidos (calendarios de reintento, períodos de gracia antes de revocar el acceso) y cambios de plan entre niveles de suscripción, ya sea para subir o bajar de categoría. El panel financiero del creador muestra ingresos por período, desglose por suscriptor, pagos pendientes y fechas proyectadas del próximo pago. La precisión aquí no es negociable — los creadores tratan estos datos como un estado de resultados.
Procesamiento de pagos
Stripe era el procesador de pagos. La integración va más allá de la simple creación de cargos: los webhooks manejan todo el ciclo de vida de los eventos de suscripción — pago exitoso, pago fallido, suscripción cancelada, factura finalizada. El manejador de webhooks es idempotente por diseño, ya que Stripe puede entregar el mismo evento más de una vez y el sistema tiene que procesarlo correctamente sin importar cuántas veces llegue.
Tecnologías
Vue.js en el frontend, Node.js en el backend, PostgreSQL para la persistencia de datos. Se eligió Vue por su modelo de reactividad — el flujo de subida de contenido del creador y la experiencia de navegación del suscriptor involucran actualizaciones de estado en tiempo real (progreso de subida, animaciones de desbloqueo, confirmación de suscripción) donde las actualizaciones granulares del DOM importan. PostgreSQL maneja el estado de las suscripciones, los metadatos de contenido y los registros financieros. El esquema se diseñó para que la consulta crítica — “¿este usuario tiene una suscripción activa a este creador?” — sea rápida, simple y con muchos índices.
Contexto
La plataforma atendió a miles de usuarios durante su período activo. Hoy está cerrada, algo común en este segmento de mercado dada la dinámica competitiva. Aun así, el reto técnico fue real: construir una plataforma de monetización para creadores confiable y resistente al fraude, a esta escala, requiere un diseño cuidadoso en cada capa.