Malavya MankarPortfolio

AI & Full-Stack Developer

Lead Developer
Runner-Up2026

GitStat

GitHub contributor health dashboard — visualise team velocity, commit patterns, and AI-generated contributor insights.

GitStat — project screenshot

Overview

GitStat is a GitHub contributor health dashboard built to surface team velocity, burnout signals, and AI-generated insights about individual contributors. It was built under hackathon conditions (36 hours) and later shipped to production at git-stat-olive.vercel.app.

Problem Statement

Engineering teams lack real-time visibility into contributor health and code velocity. Burnout often goes undetected until it's too late. GitStat addresses this by aggregating GitHub activity data into an actionable health score per contributor.

Project Context

Unimerge Hackathon — Runner-Up

Architecture

React + Vite SPA on the frontend, Express + Node.js REST API on the backend (deployed to Render). GitHub OAuth handles secure authentication. Supabase (PostgreSQL) stores user sessions and cached contributor data. Gemini 1.5 Flash generates AI summaries of contributor activity.

Technical Decisions

  • GitHub OAuth instead of PAT tokens — ensures user-scoped data access without exposing repo secrets
  • Supabase for auth session storage — avoided rolling a custom session layer under time pressure
  • Gemini 1.5 Flash over GPT-4 — cost-free tier with sufficient context window for contributor summaries
  • Vite over CRA — faster cold starts during iterative hackathon development
  • Express CORS middleware configured per-origin — required to allow the Vercel frontend to call the Render backend across different domains

Key Outcomes & Contributions

Full analytics dashboard with GitHub OAuth, contributor health scoring, and AI-generated summaries. Resolved complex CORS and OAuth deployment issues at speed.

Challenges

  • !CORS errors between Vercel-deployed frontend and Render-deployed backend — resolved by adding dynamic origin allowlist in Express CORS config
  • !GitHub OAuth redirect URI mismatch in production — production callback URL was not registered, required adding the Vercel domain to GitHub OAuth App settings
  • !GitHub API rate limits — implemented response caching in Supabase to avoid repeated calls within the same session
  • !Burnout prediction heuristic — designed a composite scoring function based on commit frequency variance, PR merge latency, and review-to-commit ratio

Learnings

  • OAuth callback URIs must be registered for every deployment environment — staging and production need separate entries
  • CORS debugging is significantly easier with structured logging on the Express layer
  • Hackathon deployments benefit from keeping frontend and backend on the same domain or using a reverse proxy
  • Gemini's API quota is generous enough for demo-scale AI features at zero cost

Official Certificate

GitStat — Official Certificate by Malavya Mankar

Tech Stack

ReactViteTailwindNode.jsExpressSupabaseGitHub OAuthGemini 1.5 Flash
Year: 2026
Role: Lead Developer