Caso de Éxito — Web Pública Multi-Vertical

Actualizado · 21 may 2026

Somos Motor

El escaparate de todas las verticales

La web pública de Somos Motor presenta cada vertical con su público objetivo: oyentes del podcast, marcas que buscan gestión de redes, organizadores que necesitan producción de eventos, patrocinadores con presupuesto. Construida en Astro, alimentada desde Firestore y con un workflow editorial que la mantiene siempre fresca sin intervención manual.

Astro 5
SSG performante
3+
Verticales en la web
CMS
Firestore-driven
Auto
Blog + deploy
Proyecto Completo

Un ecosistema digital de +955 horas

Esta página está dedicada a la web pública y al workflow editorial del podcast (que es la vertical de mayor producción de contenido). Es una de las tres patas del producto.

Páginas por vertical

Cada vertical, su espacio en la web

La web organiza el contenido por vertical para que cada visitante encuentre lo que busca: el oyente va al podcast, la marca va a media, el patrocinador a su propia página.

Páginas transversales

Home

Último episodio destacado del podcast, banner del próximo Premiere, cifras de canal en vivo y feed de blog reciente. La puerta de entrada.

/

Sobre Nosotros

Define explícitamente las verticales: podcast, media, eventos y más próximamente. Posicionamiento del proyecto editorial.

/sobre-nosotros

Blog

Artículos auto-generados por episodio con Claude, comentarios públicos moderados, likes y shares trackeados en Firestore.

/blog/[slug]

Área de Clientes

Login B2B integrado en la web para los clientes de la vertical media. Bajo /clientes con sus 3 pilares: redes, informes, facturación.

/clientes/*

Legales

Política de privacidad, cookies y aviso legal mantenidos en el repo, versionados con el resto del código.

/privacidad · /cookies · /aviso-legal

Vertical Podcast

Catálogo de Podcast

Se construyó para que cualquier visitante (oyente curioso, futuro invitado, marca evaluando patrocinar) pueda ver el rendimiento real episodio a episodio sin tener que pedir un media kit. Datos en vivo desde Firestore, sin redeploy manual al publicar nuevo episodio.

/podcast

Patrocinios

Página pensada para que los patrocinadores potenciales perciban el nivel de profesionalidad del proyecto antes de la primera llamada: métricas agregadas del canal, formatos disponibles, lectura del negocio del anunciante. Diseñada para vender sola y filtrar leads no cualificados.

/patrocinios

Vertical Media

Media

Página comercial de la vertical de gestión de redes sociales para marcas. La construimos para que las empresas que evalúan contratar el servicio entiendan exactamente qué se entrega: el pack mensual, el proceso de producción y la batería completa de métricas y entregables. Para hacerlo creíble, incluimos un caso de estudio público con auditoría de métricas reales de un cliente existente. El visitante ve, sin necesidad de pedir presupuesto, lo mismo que vería un cliente activo en su área privada.

/media

Vertical Eventos

Eventos

Página comercial de la vertical Eventos. La construimos para que la marca que necesita producir un evento entienda cómo trabajamos antes de pedir presupuesto: tipología de eventos, proceso end-to-end y entregables. Incluye formulario de interés que crea un lead clasificado automáticamente en el panel interno y notifica al equipo por email, para que ninguna oportunidad se pierda entre el correo.

/eventos
Workflow del podcast

Producir un episodio de forma repetible

La vertical podcast es la mayor productora de contenido y tiene su propio workflow editorial: cada episodio sigue el mismo flujo de 4 pasos con plantillas HTML imprimibles, scripts y automatización end-to-end.

PASO 01

Dossier del invitado

5 sub-agentes en paralelo investigan perfil, casos mediáticos, apariciones públicas, conexión con el motor y contexto. HTML imprimible privado del host.

PASO 02

Guion 2 páginas A4

HTML imprimible con briefing en 2 columnas, 5 bloques numerados, 2 dinámicas virales y cierre ritual. Formato hook + payoff validado.

PASO 03

Grabación + post

YouTube auto-genera subtítulos. Script PowerShell extrae el VTT y lo convierte en transcripción markdown limpia. Carpeta del episodio actualizada.

PASO 04

Métricas + blog auto

Crons sincronizan YouTube Analytics. Claude genera el blog post. Premiere live dispara auto-publish. Web Astro se redespliega.

Artefactos por episodio

Cada episodio: 7 archivos vivos

Una carpeta dedicada por episodio con todo el material editorial, las métricas acumuladas y las versiones imprimibles listas para sponsor.

dossier.html

Ficha del invitado, privado del host. Talking points, casos, señales rojas.

guion.html

Script imprimible 2 páginas A4 con bloques, dinámicas y cierre. Compartible con el invitado.

transcripcion.md

Transcripción limpia en markdown con timestamps [m:ss]. Auto-extraída de YouTube.

transcripcion.vtt

Backup raw del VTT original de YouTube por si hace falta reprocesar.

resumen.md

Análisis estructurado del episodio (opcional): bloques, citas destacadas, ángulos virales.

metricas.md

Snapshots por horizonte (12h, 24h, 48h, 7d, 14d, 28d, 60d, 90d, 6m, 12m). Fuente única de verdad.

metricas.html

Versión imprimible 1-2 páginas A4 de las métricas. Sponsor-ready, sin rastros IA.

Automatizaciones de la web

Lo aburrido lo hacen los robots

Cada repetición es una oportunidad de automatización. Scripts PowerShell, Cloud Functions y Task Scheduler trabajan 24/7 para que el equipo solo decida.

Generador de Blog con Claude

Toma metadata del episodio (título, invitado, descripción, capítulos YouTube) y produce un artículo blog coherente. Prompt caching para optimizar coste.

~85h de desarrollo

Sincronización YouTube

Dos crons diarios (08:00 y 20:00) sincronizan Data API y Analytics API. Métricas frescas por episodio cada día.

~75h de desarrollo

Extracción de transcripción

yt-dlp standalone descarga subtítulos VTT. Script PowerShell convierte a markdown limpio con timestamps. Cero dependencias externas.

~40h de desarrollo

HTMLs imprimibles auto-generados

metricas.html por episodio + metricas-canal.html agregado. Sin fondos negros (ahorro de tinta), sin em-dash, sin rastros de IA.

~55h de desarrollo

Auto-publish al Premiere

Cron 18:05: detecta que arrancó el Premiere de YouTube del episodio y publica el blog asociado en la web automáticamente.

~35h de desarrollo

Story button (Instagram)

Botón en la web que genera al vuelo una imagen 1080×1920 con la portada del episodio para subir a stories. Canvas API + Satori.

~30h de desarrollo

Web Analytics propio

Ingesta de eventos en Firestore, agregación horaria por cron, dashboard en el panel. Sin cookies de terceros ni Google Analytics.

~70h de desarrollo

Recordatorios de eventos

Cron 2h antes de un evento programado dispara email Resend al equipo y suscriptores. Plantilla brandeada Somos Motor.

~30h de desarrollo

Deploy GitHub Actions

Push a preproducción dispara build de Astro + deploy de Functions + Hosting + Firestore Rules. Trigger manual desde Cloud Function para rebuilds.

~45h de desarrollo
Stack Técnico

Astro 5 + Firebase + automatización

Web pública con rendimiento perfecto, CMS sobre Firestore, OG images dinámicas y automatizaciones que cierran el ciclo editorial.

Web Astro

Frontend público

Astro 5.18SSG con hidratación selectiva
Tailwind CSS 3.4Estilos consistentes
Firebase Client 12Auth + Firestore
Satori + ResvgOG images dinámicas
jsPDF + AutoTablePDFs descargables
Inter + OswaldTipografía marca

Automatización

Backend del podcast

Cloud FunctionsCrons + callables + triggers
Claude APIGeneración de blog
Metricool API35 métricas por snapshot
YouTube APIsData + Analytics
ResendEmail transaccional
GitHub ActionsDeploy automatizado

Tools del podcast

Scripts locales

yt-dlp standaloneSubtítulos sin Python
vtt-to-txt.ps1Limpieza de transcripción
youtube-snapshot.ps1Refresh diario métricas
set-episode-editorial.pySync editorial → Firestore
youtube-auth.ps1OAuth one-time
Task SchedulerCron Windows
En Números

El esfuerzo detrás de la web pública

185+
Horas de desarrollo
Web + podcast workflow
43
Archivos Astro/TS
Frontend público
3+
Verticales con página
Podcast, Media, Eventos
8+
Tools PowerShell
Cron Task Scheduler

Desglose de Esfuerzo por Módulo

Setup Astro + Tailwind + componentes compartidos25h
Home + Sobre Nosotros + Legales20h
Página Podcast (catálogo + Premiere live)20h
Página Media (con caso de estudio público)30h
Página Eventos (formulario + clasificación de lead)15h
Página Patrocinios15h
Blog público + comentarios + likes/shares35h
OG images dinámicas (Satori) + Story button + SEO25h

Estimación total: ~185 horas · Equivalente a ~1 mes de trabajo de un dev senior

Decisiones Técnicas

¿Por qué se construyó de esta manera?

¿Por qué Astro y no Next.js o WordPress?

Astro produce HTML estático perfecto con hidratación selectiva. La web es rapidísima (Lighthouse 100), el deploy se hace en segundos y no hay servidores que mantener. WordPress habría sido un drama de plugins. Next.js es más pesado de lo necesario para una web con datos casi estáticos y CMS sobre Firestore.

¿Por qué organizar la web por vertical?

Cada vertical tiene un público distinto: el oyente busca el último episodio, la marca quiere ver el servicio de gestión de redes y un caso real, el organizador quiere el flujo de eventos, el patrocinador quiere métricas y formatos. Una página por vertical permite que cada visitante encuentre lo suyo sin friccionar al resto y sin tener que pedir información por email.

¿Por qué CMS sobre Firestore y no headless tipo Sanity/Contentful?

Firestore ya está en el ecosistema (auth, blog, analytics, clientes-media). Meter un headless extra obligaría a sincronizar dos fuentes. Con Firestore como single source of truth, el panel interno escribe y la web lee. Cero divergencia y cero coste adicional.

¿Por qué generar el blog con Claude API?

Producir contenido editorial cada semana cuesta horas. Claude toma metadata del episodio (título, invitado, descripción, capítulos) y devuelve un artículo coherente. El editor solo lo revisa y publica. Prompt caching reduce el coste por artículo a céntimos.

¿Por qué scripts PowerShell y no todo en Cloud?

YouTube tiene latencia en sus APIs y a veces el subtítulo aún no está. Tener un script local que se puede lanzar a mano si el cron falla evita esperas eternas. PowerShell + Task Scheduler es 100% Windows-friendly para el equipo y permite debug en directo.

¿Por qué OG images dinámicas (Satori)?

Cuando alguien comparte un blog en redes, queremos una imagen automática con el título y el invitado, no la portada genérica del sitio. Satori renderiza una imagen a partir de JSX/CSS al vuelo, generando OG images únicas por cada página sin necesidad de Photoshop.

¿Tu marca opera en varias verticales?

Si tu negocio combina contenido, servicios B2B y eventos (o quieres llegar ahí), te construimos una web que presenta cada línea con su propio público objetivo y se actualiza sola desde tu panel interno.

Proyecto desarrollado por Automatiza ToDo · Todos los datos son aproximaciones públicas