Problema
El equipo de marketing lanzaba campañas usando landing pages estáticas (HTML, CSS y JS), lo que generaba:
- Dependencia del equipo de IT, ralentizando la iteración de campañas
- Tiempos de actualización de varios días para cambios simples
- Riesgo de errores en producción por procesos manuales
- Limitaciones para escalar múltiples campañas simultáneamente
Solución
Se migró la landing a una arquitectura basada en Next.js, implementando renderizado dinámico (SSR) para generar contenido en tiempo real según cada campaña. Se desarrolló un CMS personalizado que permite al equipo de marketing crear, editar y gestionar múltiples landing pages de forma autónoma mediante rutas dinámicas. El contenido se centralizó en Firebase, mientras que las imágenes se gestionan a través de Supabase Storage, logrando una arquitectura desacoplada y fácil de mantener. Además, se implementó un sistema de programación de campañas, permitiendo definir fechas de inicio y fin basadas en la zona horaria de los usuarios objetivo.
Arquitectura
Frontend: Next.js
Almacenamiento: Firebase(contenido) / Supabase(imagenes)
Hosting: Amazon EC2
Decisiones tecnicas
Firebase
Se eligió Firebase por sobre un backend custom para acelerar la implementación de nuevas funcionalidades y reducir el tiempo de entrega, priorizando la velocidad de iteración del equipo de marketing.Esto permitió evitar overhead de infraestructura y enfocarse en el desarrollo del producto.
SSR (Server-Side Rendering)
Se optó por SSR en Next.js para garantizar la correcta renderización de contenido dinámico por campaña, mejorando la experiencia de usuario y asegurando tiempos de carga consistentes.Además, permitió manejar contenido dependiente de contexto (ej: campañas activas según fecha).
Amazon EC2
La infraestructura se desplegó en Amazon EC2 por requerimiento del cliente, ya que necesitaban integrar un reverse proxy dentro de su arquitectura existente.Esto permitió mantener compatibilidad con su entorno actual sin modificar su flujo de red.
Demo
Proyecto desarrollado bajo acuerdo de confidencialidad (NDA).
No es posible compartir código ni acceso público.
Puedo ampliar detalles técnicos o mostrar partes específicas bajo solicitud.