DEV Community

Juan Esteban Bustos Chilatra
Juan Esteban Bustos Chilatra

Posted on

TeamFlow: La plataforma que construí para organizar a mi equipo de desarrollo (con integración GitHub)

Mi equipo de desarrollo no tenía orden. No sabíamos:

Quién estaba trabajando en qué
Si las tareas se entregaban a tiempo
Cuánto código real producía cada persona
Las herramientas existentes (Trello, Notion, Jira) no conectaban las tareas asignadas con la actividad real de código. Quería que si alguien decía "ya terminé", pudiera verificarlo automáticamente con sus commits.

La solución: TeamFlow
👉 Demo en vivo 👉 Código fuente

Funcionalidades clave

  1. Workspaces con roles Cada equipo tiene su workspace con código de invitación. Roles:

Líder: control total, asigna tareas, ve métricas
Co-líder: gestión parcial
Miembro: ve sus tareas y su rendimiento

  1. Integración con GitHub TeamFlow se conecta a la API de GitHub para:

Rastrear commits por miembro
Mapear commits a tareas asignadas
Auditar evidencias de entrega
Login con GitHub Auth
// Ejemplo: mapeo de commits a tareas
const memberCommits = await fetchGitHubCommits(repo, member.githubUsername);
const taskDelivery = correlateCommitsToTask(task, memberCommits);
task.performanceScore = calculateScore(taskDelivery);

  1. Métricas automatizadas El sistema calcula automáticamente:

performanceScore — puntaje de desempeño individual
healthPoints — salud del proyecto
workloadPct — carga laboral por miembro
% de tareas a tiempo vs. retrasadas

  1. Notificaciones automáticas por email Cuando se asigna una tarea → email al miembro Cuando una tarea se retrasa → alerta automática Resumen semanal de rendimiento
  2. Activity Log Registro detallado de toda la actividad del workspace para transparencia total.

Stack técnico
Backend (Monorepo con pnpm)
├── packages/
│ ├── server/ # Express + TypeScript
│ ├── db/ # Drizzle ORM schemas
│ ├── validators/ # Zod validation
│ └── email/ # Servicio de correos
Express.js + TypeScript — API REST tipada
Drizzle ORM — esquemas typesafe
Zod — validación de datos
Pino — logging estructurado
Frontend
React + Vite — SPA rápida
Hooks personalizados para estado de workspace
Componentes dinámicos con métricas en tiempo real
Arquitectura
┌──────────┐ ┌──────────┐ ┌──────────┐
│ React │───▶│ Express │───▶│ Neon DB │
│ + Vite │ │ + TS │ │ Postgres │
└──────────┘ └────┬─────┘ └──────────┘
│
┌─────▼──────┐
│ GitHub API │
│ + Email Svc │
└─────────────┘
Resultado
Pasamos de "no sé quién está haciendo qué" a tener visibilidad total del equipo:

Cada miembro ve su rendimiento vs. el promedio
El líder detecta cuellos de botella antes de que exploten
Las entregas se verifican con commits reales, no con promesas
Lo que aprendí
La mejor app es la que resuelve TU problema — no la que crees que va a impresionar
Monorepos con pnpm son brutales para organizar backend + frontend + shared packages
La API de GitHub es oro — commits, PRs, repos... todo es consultable
Los emails automáticos cambian completamente el engagement del equipo
Soy Juan Esteban Bustos, desarrollador de software en Neiva, Huila 🇨🇴

👉 Portafolio: juanex.pages.dev 👉 GitHub: @juanitogit

Top comments (0)