La idea
En vez de afirmar actividad en un CV, mostrarla en vivo. Este dashboard agrega señales públicas de ingeniería — stars, seguidores y repositorios de GitHub, un heatmap de contribuciones, el mix de lenguajes — junto al propio contador de vistas del sitio, y se actualiza sin cambios manuales.
Cómo funciona
Es un React Server Component que consulta varias fuentes en paralelo y renderiza el resultado en el servidor:
- GitHub — la REST API pública (
/users/{user}y/users/{user}/repos) para stars, seguidores, repositorios y el mix de lenguajes. - Heatmap de contribuciones — un calendario día a día agrupado en columnas por semana y dibujado como un grid de puro CSS.
- Vistas del sitio — un
count(*)sobre la tablaviewsde Postgres, la misma que alimenta el contador del footer. - Contenido y dataset — recuento de palabras y tamaño del dataset calculados en build time.
Cada fetch tiene timeout y falla en suave: si una fuente no está disponible, su sección simplemente se oculta en vez de romper la página o mostrar ceros falsos. Los resultados se cachean y revalidan cada hora con ISR de Next.js, así la página se mantiene rápida y a la vez fresca.
Trade-offs
- Fetch en vivo vs. snapshot commiteado. Hacer fetch en request time (con ISR) mantiene los números actuales sin un cron que commitee datos al repo.
- Graceful degradation sobre garantías. Las APIs de terceros se caen; ocultar una sección es mejor que renderizar un dashboard roto.