Proyectos - NonBugs Factory
LatinSpots
Cómo reescribimos la plataforma editorial de 28 años de LatinSpots, preparada para los próximos 28.
Cliente
LatinSpots — Plataforma editorial sobre publicidad y marketing en Iberoamérica. Organiza el festival El Ojo de Iberoamérica.
Industria
Medios & Editorial · Publicidad · Eventos.
Servicios
Ciberseguridad · Plataforma editorial a medida · Migración de datos · Infraestructura cloud · Soporte continuo.
Stack principal
Laravel · MySQL · Kubernetes · AWS · GitLab CI.
_EL CLIENTE
28 años cubriendo la creatividad iberoamericana
LatinSpots nació en 1998 como un medio para conectar a la industria publicitaria iberoamericana. Casi tres décadas después, es la referencia editorial de la región: revista bimestral (al cierre de este proyecto íbamos por la edición #191), portal de noticias diario, archivo audiovisual con miles de piezas, perfiles de directores creativos, capacitaciones, jobs board y un activo propio que terminó definiendo al sector — el festival El Ojo de Iberoamérica.
Para alguien fuera de la industria, LatinSpots puede parecer un sitio web. Para alguien adentro, es donde se publican las decisiones, los lanzamientos y los premios de las agencias y anunciantes más relevantes de habla hispana y portuguesa. A esa escala editorial, cada decisión técnica tiene consecuencias prácticas: cómo se publica una nota, cómo se cobra una suscripción, cómo se sube una pieza al archivo, cómo se gestiona un anuncio.
_CÓMO LLEGAMOS
Una recomendación, un trabajo puntual, una confianza ganada
No empezamos con el rediseño. Empezamos con un problema concreto y acotado: una intervención de ciberseguridad. Nos llegó la recomendación trabajando con un partner de infraestructura cloud, y entramos a resolver algo que tenía que estar resuelto rápido.
La solución fue inmediata y satisfactoria. Eso abrió la conversación más grande: actualizar y unificar todo el ecosistema digital de LatinSpots. La confianza que abre un trabajo bien hecho en un alcance chico es la que permite proyectos largos. Es así como casi siempre empiezan las relaciones que duran.
_EL PUNTO DE PARTIDA
Varios sistemas que funcionaban, pero no entre sí
LatinSpots venía operando con varias plataformas custom construidas a lo largo del tiempo: una para la gestión de contenidos del portal, otra para producir la revista impresa, sistemas separados de suscripciones, y un módulo propio para administrar anuncios y espacios comerciales. Cada una resolvía bien su parte. El problema no era que estuvieran rotas; era que la suma no escalaba.
Cuando una marca quería pautar tanto en el portal como en la revista, había que coordinar dos sistemas. Cuando un suscriptor pasaba de un plan a otro, la gestión era doble. Cuando se publicaba una nota, había procesos paralelos para sitio y revista. Y arriba de todo eso, casi tres décadas de archivos: notas, piezas audiovisuales, perfiles, tapas, conferencias. Una memoria editorial que había que respetar y, al mismo tiempo, modernizar.
El driver del proyecto no era performance. El sitio anterior cargaba bien. El driver era otro: seguridad, escalabilidad, y abrir el camino para nuevos módulos sin romper lo que ya existía. LatinSpots quería innovar después de 28 años, y eso requería empezar por la base.
_LA DECISIÓN TÉCNICA
Por qué construimos un CMS a medida
La intuición de mercado en 2024 es ir a un CMS headless como Strapi, Sanity o Payload. Lo evaluamos en serio. No era el camino correcto para este cliente, por tres razones concretas.
El modelo de contenido no encaja
LatinSpots no publica solo “notas”. Publica piezas audiovisuales con metadata de agencia, anunciante y país; perfiles de creativos con cross-references entre sí y con sus piezas; rankings de festivales que se rearman cada año; reels con relaciones a conferencias; jobs con relaciones a empresas. Reproducir ese modelo en los SaaS headless implicaba forzarlo a caber en un contenedor que no fue pensado para él.
28 años de datos para migrar
El driver más importante: la memoria editorial. Casi tres décadas de notas, piezas, perfiles, ediciones de revista, jurados, premios. Migrar esa data a un SaaS headless habría implicado mapear estructuras propias de LatinSpots a las del proveedor — y aceptar que cada cambio futuro estuviera limitado por las decisiones de un tercero. Construir nuestro propio CMS preservaba la lógica de datos del cliente y nos daba el control de la migración.
Reglas de negocio específicas
Las suscripciones de LatinSpots no son las de cualquier medio: combinan acceso al portal, a la revista digital y a las conferencias de El Ojo. Los anuncios no se gestionan con un ad server externo, son parte del producto. Cada una de esas reglas habría requerido extensiones, hacks o middleware sobre un SaaS. En un CMS propio, son código nativo.
La decisión final: dos aplicaciones Laravel separadas — una para el sitio público, otra para el backoffice editorial — sobre una sola base de datos MySQL, todo desplegado en Kubernetes sobre AWS.
_ARQUITECTURA
Dos apps, una sola fuente de verdad
La separación entre el sitio público y el backoffice editorial es deliberada. Cada uno tiene patrones de uso, requerimientos de seguridad y velocidades de iteración distintos. Comparten la misma base, no la misma aplicación.
Amazon Web Services
Kubernetes
Sitio público
latinspots.com
Laravel + Blade
Server-side rendering
Optimizado para lectura masiva
Backoffice editorial
CMS interno
Laravel + Vite
SPA reactiva
Producción editorial
Base de datos
MySQL
28 años de data editorial
Estructura migrada y unificada
Cache
ElastiCache · Redis
Sesiones · queries calientes
Media · S3 + CloudFront
Archivo audiovisual
Videos · imágenes · PDFs históricos
Distribución global con cache de CDN
Piezas de 28 años
El sitio público está construido sobre Laravel con vistas Blade y renderizado del lado del servidor. Optimizado para lectura masiva, indexación y carga rápida — es lo que ve cualquier lector que entra a latinspots.com.
El backoffice editorial es una aplicación Laravel separada, con frontend reactivo construido sobre Vite. Es donde el equipo editorial trabaja todos los días: produce notas, arma la revista, sube piezas, gestiona suscripciones y administra anuncios. Es un entorno con patrones de uso completamente distintos al sitio público, y por eso vive en su propio repo, con su propio despliegue.
Ambas aplicaciones comparten una base MySQL en AWS con casi tres décadas de data editorial unificada y migrada. ElastiCache (Redis) maneja sesiones y queries calientes; S3 + CloudFront sirve todo el archivo audiovisual con distribución global; SES envía las notificaciones de suscripciones. Todo orquestado sobre Kubernetes, con pipelines de GitLab CI que despliegan ambientes por branch.
_LA SOLUCIÓN
Una sola plataforma para todo el ecosistema

Editor de notas con producción multiformato.

Gestión integrada de piezas, revista y catálogo.
_EL PRODUCTO PÚBLICO
El sitio donde se publica la creatividad iberoamericana


_RESULTADOS
Lo que cambió cuando todo quedó conectado
Plataforma unificada
Notas, revista, suscripciones, piezas, perfiles y anuncios viven en un solo sistema. El equipo editorial dejó de saltar entre plataformas para producir contenido.
28 años de archivo, intactos y accesibles
Toda la memoria editorial migrada y compatible con la nueva estructura. Las notas y piezas históricas siguen estando, mejor indexadas y mejor servidas.
Seguridad como prioridad
El proyecto arrancó por ciberseguridad y la mantuvo como eje. Arquitectura aislada por entornos, secretos gestionados fuera del código, permisos granulares en el backoffice.
Operación escalable bajo carga
Kubernetes con escalado horizontal, cache distribuido y CDN global. La plataforma está preparada para absorber picos de tráfico durante cobertura de festivales.
Terreno preparado para nuevos módulos
El cliente puede sumar funcionalidades nuevas — formatos, productos, integraciones — sin reescribir lo que ya existe. Algo que antes era un limitante hoy es una ventaja operativa, y el motivo por el que el proyecto sigue vivo: las mejoras continuas.
_LO QUE APRENDIMOS
Tres ideas que nos llevamos del proyecto
28 años de data son un activo, no un lastre
Muchos proyectos de modernización tratan la historia del cliente como un problema a resolver. La de LatinSpots era exactamente lo contrario: la memoria editorial es el producto. Migrar 28 años de archivo sin perder estructura ni relaciones no es opcional; es la condición. Diseñar la base de datos con eso en mente cambió toda la arquitectura.
Separar la app pública de la app interna paga rápido
Construirlas como dos aplicaciones Laravel distintas, con dos repos y dos despliegues, agrega complejidad inicial. Pero cada una puede evolucionar a su ritmo: el sitio público optimiza lectura y SEO; el backoffice optimiza productividad editorial. Cuando una se cae, la otra sigue funcionando. Cuando una necesita escalar, la otra no paga el costo.
Empezar chico para ganarse el proyecto grande
El proyecto completo de LatinSpots no se vendió en una reunión: se ganó resolviendo bien un trabajo acotado. Una intervención de ciberseguridad, respondida en tiempo y forma, abrió la conversación que terminó siendo una modernización completa. Para nosotros eso es parte del oficio: tomar el problema que el cliente trae hoy y resolverlo bien — la siguiente conversación llega sola.
_STACK
Tecnologías del proyecto
Liderado por
Franco Gregorio
CTO — NonBugs Factory
Lanzamiento: noviembre 2024 · Equipo: 2 backend, 2 frontend, 2 UI/UX, 1 PM, CPO, CTO · 8 minutos de lectura
El equipo no solo entendió nuestro problema de raíz, sino que nos acompañó en cada paso para construir una solución completa. Gracias a ellos, automatizamos procesos clave, ahorramos un montón de tiempo y logramos una gestión centralizada que antes era impensable.
¿Tu operación es más compleja
de lo que un SaaS puede resolver?
Es donde mejor trabajamos. Entendemos el problema a fondo, diseñamos la arquitectura y construimos el software a medida que lo sostiene — pensado para escalar con tu negocio.
Agendar una reunión