Skip to content

nischayhq/github-portfolio-analyzer

Repository files navigation

🚀 GitHub Portfolio Analyzer

A full-stack Next.js application that analyzes your GitHub repositories and categorizes them into Products, Projects, and Experiments — with optional Deep AI Analysis powered by Google Gemini.

Next.js TypeScript Tailwind CSS Gemini AI


✨ Features

📊 Tab 1 — Normal Analyze (Metadata)

  • Fetches all public + private repositories via GitHub API
  • Scores every repo from 0–100 based on:
    • ⭐ Stars (max 40 pts)
    • ⚡ Activity / last push (max 25 pts)
    • 📋 Completeness — description, homepage, topics (max 25 pts)
    • 👥 Community — forks + watchers (max 20 pts)
  • Auto-categorizes into 📦 Product / 🛠️ Project / 🧪 Experiment
  • 💎 Showcase Picker — highlights portfolio-worthy repos
  • 🏆 Top 3 Podium — sabse damdaar projects
  • Filter by category, search by name, sort by score/stars/date
  • Stats dashboard — total repos, stars, avg score, top language

🤖 Tab 2 — Deep AI Analyze (Gemini)

  • Reads each repo's README file
  • Sends to Google Gemini AI for intelligent review
  • Returns:
    • AI Score (0–100)
    • Category: Product / Project / Experiment / Learning
    • 2–3 sentence honest summary
    • Strengths & Improvements
    • Showcase Potential: High / Medium / Low
    • Tech Stack detection
  • Progress bar with real-time updates
  • Stop button to pause analysis anytime
  • Rate-limit safe (6s gap between requests)

🛠️ Tech Stack

Technology Usage
Next.js 15 App Router, Server Components
TypeScript Strict mode, no any
Tailwind CSS Styling, responsive design
GitHub REST API Fetch repos, README files
Google Gemini API Deep AI analysis (free tier)

📦 Setup & Installation

1. Clone the repo

git clone https://github.com/Nischayb99/github-portfolio-analyzer.git
cd github-portfolio-analyzer

2. Install dependencies

npm install

3. Run development server

npm run dev

Open http://localhost:3000


🔑 API Keys Setup

GitHub Personal Access Token (for private repos)

  1. Go to github.comSettings
  2. Developer settingsPersonal access tokensFine-grained tokens
  3. Click Generate new token
  4. Settings:
    • Token name: portfolio-analyzer
    • Expiration: 90 days
    • Repository access: All repositories
    • Permissions → Contents: Read-only
  5. Copy token → paste in the tool's GitHub Token field

⚠️ Never share your token publicly. It gives read access to your private repos.

Gemini API Key (for Deep AI Analysis — Free)

  1. Go to aistudio.google.com
  2. Click Get API KeyCreate API key
  3. Copy the key (starts with AIzaSy...)
  4. Paste in the tool's Gemini API Key field

✅ Free tier: 15 requests/minute — enough for portfolio analysis.


📁 Project Structure

github-portfolio-analyzer/
├── app/
│   └── page.tsx          # Main analyzer page (all logic here)
├── public/
├── package.json
├── tailwind.config.ts
├── tsconfig.json
└── README.md

🎯 How Scoring Works

Score Formula

Total Score = Stars + Activity + Completeness + Community

Category Rules

Score ≥ 50  OR  (has homepage + 2 stars)  →  📦 PRODUCT
Score ≥ 22  OR  any star  OR  pushed < 60d  →  🛠️ PROJECT
Everything else                              →  🧪 EXPERIMENT

Showcase Recommended

Score ≥ 38  OR  Stars ≥ 3  OR  (has live demo + score ≥ 20)

📸 Screenshots

Normal Analyze

  • Profile stats, 9 metric tiles
  • Top 3 podium with medals
  • Filter tabs: All / Product / Project / Experiment / Showcase / Private
  • Search + Sort controls
  • Per-card score breakdown bars

Deep AI Analyze

  • Real-time progress bar
  • Per-repo AI review cards
  • Expandable strengths & improvements
  • Tech stack badges
  • Showcase potential indicator

🔒 Privacy & Security

  • No data stored — all analysis happens client-side in the browser
  • GitHub token is only used for API calls, never logged or saved
  • Gemini key is only used for analysis requests
  • No backend server — pure client-side Next.js

🚀 Deploy on Vercel

npm run build
vercel deploy

Or connect your GitHub repo to vercel.com for automatic deploys.


👨‍💻 Author

Nischay Bandodiya

  • GitHub: @Nischayb99
  • Stack: Full-stack | MERN | TypeScript | Tailwind CSS

📄 License

MIT License — free to use, modify, and distribute.

About

Analyze your GitHub portfolio — auto-categorize repos into Products, Projects & Experiments. Score every repo + Deep AI review via Gemini. Built with Next.js + TypeScript.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors