PARTNERSHIP SELECCIONADA
CD Estepona Fans
Un producto multiplataforma para la comunidad de aficionados del CD Estepona: una web pública, una app nativa para iOS y un sistema interno de partido que lleva los eventos en directo a la afición en el momento en que ocurren.
Proyecto independiente de aficionados. Sin vinculación con el CD Estepona y no es un servicio oficial del club.
Visión General
CD Estepona Fans es un producto independiente para los aficionados del CD Estepona, club de fútbol que compite en Segunda RFEF. Lo que empezó en 2025 como una web de noticias se ha convertido en un ecosistema digital: una plataforma web trilingüe, una app nativa para iOS publicada en el App Store, una app nativa para Android en pruebas cerradas y un Matchday Control Center interno donde los operadores registran cada evento del partido en directo.
Mi Rol
Soy responsable del producto de principio a fin: dirección de producto, UX, arquitectura, backend, desarrollo web, iOS y Android, publicaciones y operación diaria. Es una iniciativa independiente de aficionados y no un encargo del club, lo que la convierte en un ejercicio real de ownership de producto: cada decisión, del modelo de datos a la publicación en el App Store, ha sido mía, igual que su mantenimiento.
El desafío
Los aficionados de clubes de categorías inferiores rara vez disfrutan de la experiencia digital que los seguidores de los grandes equipos dan por hecha. El objetivo era ofrecerles un único lugar para noticias, calendario, clasificación, plantilla y, sobre todo, el seguimiento de los partidos en directo, con un coste operativo proporcionado a un proyecto independiente.
Eso implicaba resolver problemas reales de producto: datos de partido que deben ser correctos a la primera porque disparan notificaciones push, correcciones que nunca deben avisar dos veces a la afición, una experiencia en directo sobre infraestructura serverless y varias plataformas que tienen que contar exactamente la misma historia en tres idiomas.
El Ecosistema
Cada superficie tiene una función clara, y todas comparten un único backend y un contrato de API versionado.
En producción
Web
Plataforma Next.js trilingüe con noticias, calendario, clasificación, plantillas, galerías y juegos para la afición.
Disponible en el App Store
App iOS
App nativa en SwiftUI con Match Centre en directo, avisos push por temas, widgets de pantalla de inicio y Live Activities.
En pruebas cerradas
App Android
App nativa en Kotlin y Jetpack Compose con paridad funcional respecto a iOS. Aún no está disponible públicamente.
Interno
Matchday Control Center
Consola de operador donde un operador asignado a cada partido registra goles, tarjetas, cambios y alineaciones durante el encuentro.
Interno
Panel de Contenidos
CMS editorial para noticias, galerías, plantillas y partidos, con traducción automática de artículos.
Arquitectura
Un único backend en Next.js y TypeScript da servicio a la web, al panel de contenidos, al Matchday Control Center y a una API móvil versionada que consumen las dos apps nativas. PostgreSQL con Prisma alberga el modelo de dominio, las notificaciones push se entregan mediante APNs y Firebase Cloud Messaging, y las Live Activities de iOS se actualizan de forma remota desde el servidor. La arquitectura prioriza a propósito pocas piezas, bien conocidas, que un solo ingeniero puede operar con fiabilidad.
Aspectos técnicos destacados
Capacidades de la Plataforma
Decisiones de ingeniería clave
Datos en directo desde un Matchday Control Center
Los datos en directo no proceden de un proveedor externo. Un operador asignado a cada partido registra cada gol, tarjeta, cambio y alineación en una consola interna. Los minutos se calculan a partir de un reloj de partido en el servidor en lugar de teclearse, cada operador solo puede actuar sobre los partidos que tiene asignados y cada acción queda registrada en un log de auditoría.
Un único pipeline para todas las fuentes
Las acciones del operador se reproducen a través del mismo pipeline de ingesta creado para proveedores de datos externos. Registrar, corregir o anular un evento se convierte en una inserción, una actualización o una retractación sobre una única cronología canónica, y el marcador se recalcula siempre a partir de ella en lugar de editarse a mano.
Notificaciones que se envían exactamente una vez
Los avisos se encolan con una clave de deduplicación única y se envían cuando la petición del operador ya ha terminado, de modo que un servicio push lento nunca bloquea la consola. Las correcciones históricas se aplican de forma idempotente y silenciosa, sin volver a avisar a la afición.
Tiempo real sin infraestructura de tiempo real
En lugar de mantener servidores de sockets, las apps consultan un endpoint en directo cuya frecuencia fija el servidor según el estado del partido: cada 10 segundos durante el juego y mucho menos el resto del tiempo. Cada petición es condicional mediante ETag, así que los datos sin cambios cuestan un intercambio de cabeceras y no una respuesta completa.
Presente en la pantalla de bloqueo
En iOS, las Live Activities y los widgets de la pantalla de inicio mantienen el marcador visible sin abrir la app, y la Live Activity se actualiza de forma remota desde el servidor a medida que se registran los eventos.
Nativo en ambas plataformas, un solo contrato
SwiftUI en iOS y Kotlin con Jetpack Compose en Android, desarrolladas sobre la misma API versionada, los mismos temas de notificación y el mismo catálogo de traducciones, con suites de tests automatizados en la plataforma web y en ambas apps.
La Experiencia
La web y la app presentan los mismos partidos, noticias y plantilla en la forma que necesita cada contexto: navegación completa y visibilidad en buscadores en la web, avisos inmediatos y marcadores de un vistazo en el móvil.





Las imágenes de iOS son las capturas publicadas de la app en el App Store (ficha en español). La imagen de la web se capturó en producción en octubre de 2026.
Resultados
La web está en producción en tres idiomas, con un archivo editorial de 366 noticias publicadas, y la app de iOS se publicó en el App Store en octubre de 2026. En la última instantánea de 30 días, la plataforma registró más de 3000 visitas de más de 1300 usuarios y mostró visibilidad orgánica en la Búsqueda de Google. La app de Android está en pruebas cerradas en Google Play y se añadirá aquí cuando esté disponible públicamente.
Alcance de la plataforma · Últimos 30 días
- Visitas
- 3172
- Usuarios Activos
- 1361
- Páginas Vistas
- 5545
Búsqueda de Google · 10 consultas principales
- Clics Orgánicos
- 607
- Impresiones
- 8271
- Posición Media
- 3,6
Instantánea del panel de administración de la plataforma, correspondiente aproximadamente al periodo del 20 de septiembre al 19 de octubre de 2026. Los datos de uso son sesiones, usuarios activos y páginas vistas de Google Analytics 4, y solo cuentan a quienes aceptaron las cookies de analítica. Los datos de búsqueda proceden de Google Search Console y abarcan las diez consultas que muestra el panel, por lo que los totales del sitio pueden ser mayores; la posición es la media simple de esas consultas.
Rendimiento web
Puntuaciones de laboratorio de Lighthouse 12.8 para la página de inicio en producción: mediana de tres ejecuciones por perfil de dispositivo, medidas el 19 de octubre de 2026. La accesibilidad corresponde al perfil móvil.
Próximos Pasos
El producto sigue evolucionando. Los próximos hitos son la publicación de la app de Android y una conexión más estrecha entre la web y las apps, para que un partido o un artículo se abra directamente en la app cuando esté instalada.
Filosofía de Producto
Un producto deportivo se gana la confianza en el día de partido: el marcador tiene que ser correcto, el aviso tiene que llegar una sola vez y la experiencia tiene que funcionar en cada plataforma que usa la afición.
Construyendo productos para empresas ambiciosas.
Colaboro con un número limitado de partners cada año para diseñar y desarrollar productos digitales que combinan rendimiento, escalabilidad e impacto de negocio.
Iniciar conversación