Stop guessing how productive you are. DevTrack pulls your GitHub activity, PR analytics, commit streaks, and coding goals into one clean, self-hostable dashboard — no enterprise plan, no vendor lock-in, no noise.
🌐 Live Demo · 📖 Dev Guide · 🐛 Report Bug · ✨ Request Feature
Most developers track their work across 5+ disconnected tools — GitHub for commits, Jira for tasks, Notion for goals, Slack for standups. None of them give you the full picture.
DevTrack solves this by:
- 📊 Consolidating GitHub contributions, PR metrics, and streak data in one view
- 🎯 Helping you set and visualize personal coding goals with progress bars
- 🔒 Keeping your data yours — fully self-hostable with zero vendor lock-in
- ⚡ Deploying in minutes — Next.js + Supabase + Vercel, entirely free tier
Whether you're a solo developer tracking consistency, a student building your portfolio discipline, or a team lead monitoring your own output — DevTrack is built for you.
| Feature | Description |
|---|---|
| GitHub OAuth | Sign in with GitHub — no extra account needed |
| Commit Activity Chart | Visualize daily commit activity with 7d / 14d / 30d / 90d range selector |
| Commit Streak Tracker | Current streak, longest streak, active days — stay consistent |
| PR Analytics | Average review time, merge rate, open/closed PR count |
| Top Repositories | Ranked list of your most active repos over any time range |
| Weekly Goal Tracker | Set coding goals and track progress with a progress bar UI |
| No separate backend | Next.js API routes + Supabase, deploy to Vercel for free |
| Layer | Technology |
|---|---|
| Frontend | Next.js 14 (App Router), TypeScript, Tailwind CSS |
| Auth | GitHub OAuth via NextAuth.js |
| Database | Supabase (PostgreSQL) |
| API | Next.js Route Handlers (/app/api/) |
| Charts | Recharts |
| Deployment | Vercel (free, auto-deploys from GitHub) |
devtrack/
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ ├── auth/[...nextauth]/ # GitHub OAuth
│ │ │ ├── metrics/
│ │ │ │ ├── contributions/ # GET commit activity
│ │ │ │ ├── prs/ # GET PR analytics
│ │ │ │ ├── streak/ # GET commit streak
│ │ │ │ └── repos/ # GET top repositories
│ │ │ └── goals/ # GET + POST weekly goals
│ │ ├── dashboard/ # Main dashboard page
│ │ └── page.tsx # Landing page
│ ├── components/
│ │ ├── ContributionGraph.tsx # Bar chart with time range tabs
│ │ ├── PRMetrics.tsx # PR stats grid
│ │ ├── GoalTracker.tsx # Weekly goals progress bars
│ │ ├── StreakTracker.tsx # Streak stats widget
│ │ ├── TopRepos.tsx # Ranked repos list
│ │ └── DashboardHeader.tsx # User avatar + sign out
│ └── lib/
│ ├── auth.ts # NextAuth config + Supabase user upsert
│ └── supabase.ts # Supabase admin client (server-side)
├── supabase/
│ └── schema.sql # Run once in Supabase SQL editor
└── .github/
├── workflows/ci.yml # Type-check + lint on every PR
└── ISSUE_TEMPLATE/ # Bug, feature, good-first-issue templates
Full setup guide with troubleshooting: DEVELOPMENT.md
1. Clone & install
git clone https://github.com/Priyanshu-byte-coder/devtrack.git
cd devtrack
npm install2. Set up Supabase
- Create a free project at supabase.com
- SQL Editor → New Query — paste and run
supabase/schema.sql - Project Settings → API — copy Project URL, anon key, service_role key
3. Create a GitHub OAuth App
- Go to GitHub → Settings → Developer Settings → OAuth Apps
- Set callback URL to
http://localhost:3000/api/auth/callback/github - Copy your Client ID and Client Secret
4. Configure environment
cp .env.example .env.localNEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET= # run: openssl rand -base64 32
GITHUB_ID=your_client_id
GITHUB_SECRET=your_client_secret5. Run locally
npm run devOpen http://localhost:3000 and sign in with GitHub. 🎉
- GitHub OAuth sign-in
- Contribution bar chart with range selector
- PR analytics widget
- Weekly goal tracker
- Dashboard auth guard
- User avatar in header
- Commit streak tracker
- Top repositories widget
New to open source? Issues marked
good first issueare a great place to start!
| Issue | Feature | Difficulty |
|---|---|---|
| #1 | Dark mode toggle | 🟢 Beginner |
| #14 | Responsive mobile layout | 🟢 Beginner |
| #13 | Create Goal form UI | 🟢 Beginner |
| #17 | Chart type toggle (bar/line) | 🟡 Intermediate |
| #18 | Contribution heatmap calendar | 🟡 Intermediate |
| #32 | Language breakdown widget | 🟡 Intermediate |
| #33 | Activity feed | 🟡 Intermediate |
| #34 | Auto-progress goals from commits | 🔴 Advanced |
| #6 | GitLab integration | 🔴 Advanced |
| #20 | Slack/Discord weekly digest | 🔴 Advanced |
- Multi-platform integration (GitLab, Bitbucket)
- Team dashboards with aggregated metrics
- AI-generated weekly productivity summaries
- Public profile/shareable stats cards
DevTrack actively welcomes contributors of all skill levels, including GSSoC 2026 participants.
Setup takes under 10 minutes — see DEVELOPMENT.md for the full walkthrough, including common errors and their fixes.
- Browse open issues — start with the
good first issuelabel - Comment on the issue to get assigned before you start work
- Fork → branch (
feat/issue-42-description) → PR againstmain - Check CI passes:
npm run lint && npm run type-check
See CONTRIBUTING.md for full guidelines, commit style, and the review process.
💬 Questions? Open a Discussion — we're happy to help!
MIT — see LICENSE for details.
Built with ❤️ by the DevTrack community · devtrack-delta.vercel.app
⭐ Star this repo if DevTrack helps you — it means a lot!