Sistema de automatización construido para un Project Manager que gestionaba 30+ tableros de Trello: scripts de extracción ETL asíncronos que procesan 500+ tarjetas, rotan tokens via Round-Robin para no ser bloqueados por rate limiting, aplican reglas de negocio configurables y generan reportes de KPIs automáticamente — de 4 horas de trabajo manual a 15 minutos durante 12 meses sin interrupciones.
🚀 Impacto y Números
- 93% de reducción en tiempo: de 4 horas diarias a 15 minutos — ~80 horas/mes liberadas al cliente
- 30+ tableros y 500+ tarjetas procesados simultáneamente en cada ejecución
- 0 errores de rate limiting gracias a la rotación inteligente de múltiples tokens de API
- 12 meses en producción sin intervención manual ni fallos críticos
⚡ Cómo está construido
Rotación multi-token Round-Robin
- El problema real: la API de Trello tiene límites estrictos de requests por token — con un solo token, procesar 500+ tarjetas con todas sus acciones y campos personalizados tomaría horas o resultaría en ban
- La solución: pool de tokens de autenticación rotados secuencialmente con
fetchWithRetry— distribuye la carga, triplica el throughput efectivo y nunca supera el límite de ningún token individual - Retry exponencial: ante inestabilidad de red o sobrecarga de API, los reintentos con backoff exponencial garantizan la completitud del reporte
Motor de reglas de negocio configurable
- Reglas como configuración: el cliente define condiciones en
TaskBoardTracker.js(“tarjetas vencidas hace 5 días en lista X”, “tickets sin asignado esta semana”) sin tocar la lógica de ejecución — separación explícita entre qué calcular y cómo calcularlo - Lógica temporal compleja propia: funciones como
isDateInThisWeek()yisDateInLastMonth()calculan contextos temporales aplicados a las fechas de las tarjetas, sin librerías de fechas externas - Output listo para el cliente: normalización de JSON jerárquico a CSV plano con
json2csv— el reporte llega en el formato que el cliente ya sabe leer
Extracción ETL asíncrona
- Jerarquía completa en paralelo: extracción de Organización → Board → List → Card → Actions → Custom Fields con
Promise.allpara máxima eficiencia - Caché en disco: respuestas de API guardadas localmente para depuración offline y para no consumir cuota durante el desarrollo de nuevas reglas
�️ Stack
Core: Node.js, JavaScript ES Modules Networking: Axios (requests, retry, token rotation) Data: json2csv (transformación), fs (caché en disco) Config: Dotenv (tokens y variables de entorno) Patterns: DAO, Configuration Object, Retry Pattern, Round-Robin Pool
💼 Lo que este proyecto demuestra
Este proyecto demuestra que puedo:
- ✅ Identificar cuellos de botella operativos reales y resolverlos con código — no solo construir features de tutorial
- ✅ Diseñar sistemas tolerantes a fallos para APIs externas con rate limiting real: retry, backoff, pool de tokens
- ✅ Desacoplar lógica de negocio de lógica de ejecución — el cliente cambia las reglas sin necesitar al desarrollador
- ✅ Entregar valor de negocio tangible y medible: 80 horas/mes y 12 meses de operación continua
Diferenciador clave: No es un clon de Trello para practicar React. Es una herramienta real que solucionó un problema concreto de un cliente real, con restricciones reales de API, y que corrió en producción durante un año.
