28 мая 2026 г.

Живой инженерный dashboard

Активный

Публичный самообновляющийся dashboard, который собирает активность GitHub, heatmap контрибуций и метрики сайта в один data product.

Идея

Вместо того чтобы заявлять об активности в резюме — показать её вживую. Этот dashboard агрегирует публичные инженерные сигналы — звёзды, подписчиков и репозитории GitHub, heatmap контрибуций, языковой микс — вместе с собственным счётчиком просмотров сайта и обновляется без ручных правок.

Как это работает

Это React Server Component, который параллельно обращается к нескольким источникам и рендерит результат на сервере:

  • GitHub — публичный REST API (/users/{user} и /users/{user}/repos) для звёзд, подписчиков, репозиториев и языкового микса.
  • Heatmap контрибуций — плоский календарь по дням, сгруппированный в колонки по неделям и нарисованный чистым CSS-гридом.
  • Просмотры сайтаcount(*) по таблице views в Postgres, та же, что питает счётчик в футере.
  • Контент и датасет — количество слов и размер датасета считаются на build time.

У каждого запроса есть таймаут, и он fail-soft: если источник недоступен, его секция просто скрывается, а не роняет страницу и не показывает фейковые нули. Результаты кэшируются и ревалидируются раз в час через Next.js ISR — страница остаётся быстрой и при этом свежей.

Trade-off'ы

  • Живой fetch против закоммиченного снимка. Запрос на этапе рендера (с ISR) держит числа актуальными без cron-задачи, коммитящей данные обратно в репозиторий.
  • Graceful degradation вместо гарантий. Сторонние API падают; скрыть секцию лучше, чем показать сломанный dashboard.

Открыть живой dashboard →

Обсуждение

Этот пост был полезен?

Войдите, чтобы ставить лайки и комментировать.

Имя и аватар из выбранного провайдера хранятся в собственной базе сайта, чтобы показывать вашу активность.