Skip to content

About

πŸ§‘β€πŸ’» Unified developer productivity dashboard β€” GitHub, LeetCode, Codeforces & study activity in one self-hosted life heatmap

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

26 Commits

Folders and files

Repository files navigation

πŸ§‘β€πŸ’» Developer Life Dashboard

One dashboard for your entire developer life β€” GitHub commits, LeetCode grinds, Codeforces battles, study sessions, and project work, unified into a single Life Heatmap.

Self-hosted, privacy-first, and built for developers who want to see all their progress in one place instead of five different profile pages.

License Node TypeScript


✨ Features

Feature Description
πŸ—Ί Unified Life Heatmap GitHub-style contribution grid aggregating all platforms, filterable per platform
πŸ”₯ Streak Tracking Separate streaks for coding, DSA, learning, projects + overall consistency
🎯 Goal Tracking LeetCode targets, commit goals, study milestones with progress bars and deadlines
πŸ“‹ Activity Feed Timeline of everything you accomplished, across all platforms
πŸ“Š Analytics Weekly score charts, monthly consistency, best days, all-time totals
πŸ† Achievements Badges for milestones β€” streaks, problem counts, multi-platform days
πŸ“ Manual Logging Log study sessions, project work, articles, and courses with duration + notes
🏠 Home Assistant REST sensor endpoints for streaks and daily progress on your HA dashboard

Supported Platforms

  • GitHub β€” contributions + merged PRs via GraphQL API (OAuth)
  • LeetCode β€” daily solve counts via the public GraphQL endpoint
  • Codeforces β€” accepted submissions via the official REST API, scored by problem rating
  • HackerRank β€” solved challenges via the public profile API
  • Manual β€” anything else worth tracking

πŸ— Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Next.js Web β”‚  β”‚ Mobile Web  β”‚  β”‚ Home Assistant  β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  Express API      β”‚  JWT auth Β· rate limiting Β· Zod
              β”‚  (Node.js + TS)   β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β–Ό              β–Ό              β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Postgres β”‚   β”‚  Redis   β”‚  β”‚  BullMQ    β”‚ ← scheduled platform syncs
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                                      β–Ό
                  GitHub Β· LeetCode Β· Codeforces Β· HackerRank

Stack: Next.js 14 Β· TypeScript Β· Tailwind CSS Β· Recharts Β· SWR Β· Express Β· PostgreSQL Β· Redis Β· BullMQ Β· Docker


πŸš€ Quick Start

Prerequisites

  • Node.js β‰₯ 20
  • Docker + Docker Compose
  • A GitHub OAuth App (callback URL: http://localhost:3001/auth/github/callback)

Setup

# 1. Clone
git clone https://github.com/TheProtagonist07/developer-life-dashboard.git
cd developer-life-dashboard

# 2. Configure
cp .env.example .env
# Fill in GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, JWT_SECRET

# 3. Start databases
docker compose up -d postgres redis

# 4. Install + run the API
cd apps/api && npm install && npm run dev    # β†’ http://localhost:3001

# 5. Install + run the web app (new terminal)
cd apps/web && npm install && npm run dev    # β†’ http://localhost:3000

Open http://localhost:3000, sign in with GitHub, and connect your platforms from the Platforms tab.

Full Docker deployment

cp .env.example .env   # configure first
docker compose up -d   # runs postgres, redis, api, and web

πŸ“ Project Structure

developer-life-dashboard/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ api/                  # Express + TypeScript backend
β”‚   β”‚   └── src/
β”‚   β”‚       β”œβ”€β”€ db/           # PostgreSQL schema + query helpers
β”‚   β”‚       β”œβ”€β”€ integrations/ # GitHub, LeetCode, Codeforces, HackerRank fetchers
β”‚   β”‚       β”œβ”€β”€ middleware/   # JWT auth, error handling
β”‚   β”‚       β”œβ”€β”€ routes/       # REST endpoints
β”‚   β”‚       β”œβ”€β”€ services/     # Streak engine, achievements, analytics
β”‚   β”‚       └── workers/      # BullMQ sync queue + worker
β”‚   └── web/                  # Next.js 14 frontend
β”‚       └── src/
β”‚           β”œβ”€β”€ app/          # App router pages
β”‚           β”œβ”€β”€ components/   # Heatmap, streaks, goals, feed, analytics
β”‚           β”œβ”€β”€ hooks/        # useAuth
β”‚           └── lib/          # API client, utils
β”œβ”€β”€ docker-compose.yml
└── .env.example

πŸ”Œ API Overview

Method Endpoint Description
GET /auth/github Start GitHub OAuth
GET /auth/me Current user
GET /activities/heatmap?year= Heatmap data
GET /activities/feed Paginated activity feed
POST /activities/manual Log manual activity
GET /streaks All streak types
GET/POST/PUT/DELETE /goals Goal CRUD
GET /analytics/weekly Β· /monthly Β· /totals Stats
POST /platforms/connect Connect a coding platform
POST /sync/trigger Manual sync
GET /achievements Earned badges
GET /ha/sensors/:userId Home Assistant sensors (API-key auth)

Home Assistant Integration

# configuration.yaml
rest:
  - resource: http://your-server:3001/ha/sensors/<your-user-id>
    headers:
      Authorization: Bearer <HA_API_KEY>
    scan_interval: 300
    sensor:
      - name: "Coding Streak"
        value_template: "{{ value_json.data.overall_streak }}"
        unit_of_measurement: "days"
      - name: "Today's Activity"
        value_template: "{{ value_json.data.today_count }}"

πŸ—Ί Roadmap

  • Phase 1 β€” MVP: Auth, GitHub + LeetCode sync, heatmap, streaks, goals
  • Phase 2 β€” Platforms: Codeforces, HackerRank, manual logging, activity feed
  • Phase 3 β€” Intelligence: Achievements, analytics charts
  • Phase 4 β€” Native: macOS menu bar app (Electron), macOS widget
  • Phase 5 β€” Polish: PWA offline support, push notifications, public profiles, CSV export

πŸ“„ License

MIT Β© 2026 Shivam Chaurasia

About

πŸ§‘β€πŸ’» Unified developer productivity dashboard β€” GitHub, LeetCode, Codeforces & study activity in one self-hosted life heatmap

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages