
Público
MTA Ridership
Una app que cuenta la recuperación del transporte en NYC con tres vistas clave, UX sobria y narrativa clara. Ganó primer lugar en el Holiday Season App Challenge (Plotly).
Stack
Python · Dash · Plotly · p5.js
Artefactos
Demo / repositorio públicos
En breve
- App narrativa en Dash para explicar la recuperación del transporte en NYC con 3 vistas clave.
- Diseñada para claridad: pocos controles, normalización y líneas base.
- Demo + repo reproducible; ganó un challenge de la comunidad Plotly.
Patrones reutilizables
- Estructura “story-first”: anclas, anotaciones y microcopy por encima de “más filtros”.
- Líneas base + normalización para comparar limpio entre periodos y segmentos.
- Agregación pre-calculada + modelo de datos simple para mantener la app ágil.
- Jerarquía clara de vistas: pocos gráficos clave para responder rápido a la pregunta principal.
Contexto
Tras los shocks recientes, el ridership del sistema MTA tuvo cambios bruscos y patrones muy distintos según línea, estación y periodo.
El objetivo fue responder una pregunta guía con la mínima complejidad: ¿cómo se recupera la demanda y dónde se ven los patrones más claros?
Decisiones
- Story-first: menos controles, más narrativa (anclas, microcopy y anotaciones).
- Normalización y líneas base para comparaciones limpias a través del tiempo.
- Pre-cómputo de agregados y una estructura de datos simple para mantener la app ágil.
Arquitectura
- Dash para UI y callbacks; Plotly para interacción por defecto (hover/zoom/selección).
- Pequeños toques con p5.js + CSS para identidad visual sin sobrecargar el bundle.
Resultados
- Primer lugar en el Holiday Season App Challenge de la comunidad Plotly (2024).
- Demo pública y repositorio reproducible para entender el “cómo” (código + assets).
- Patrones reusables para otras apps: narrativa, jerarquía visual y filtros esenciales.