GitSignal AI – Turn Repositories into Recruiter-Ready Proof
As defined in the official challenge brief , students struggle to:
- Understand how recruiters evaluate GitHub profiles
- Signal technical depth and real-world impact
- Maintain structured repositories and documentation
- Interpret commit consistency and contribution patterns
- Receive objective, actionable feedback
Most GitHub profiles fail not because of lack of skill — but lack of presentation.
Build a full-stack AI-powered platform that:
- Accepts a GitHub profile URL
- Fetches public repositories and activity data
- Computes a structured GitHub Portfolio Score
- Highlights strengths and red flags
- Provides actionable, recruiter-style recommendations
- Suggests README and documentation improvements using Gemini AI
- Next.js 14 (App Router)
- TypeScript
- TailwindCSS
- ShadCN UI (optional)
- Recharts (for scoring visualization)
- Next.js Route Handlers (
/app/api/*) - GitHub REST API (public endpoints)
- Server-side scoring engine
- Gemini AI via npm SDK (NOT direct REST API calls)
@google/generative-ainpm package- Server-side usage only
- Environment-based API key
- Prompt-engineered recruiter persona
github-portfolio-analyzer/
│
├── app/
│ ├── page.tsx # Landing page
│ ├── analyze/
│ │ └── page.tsx # Results dashboard
│ │
│ ├── api/
│ │ ├── analyze/route.ts # Main analysis endpoint
│ │ ├── github/route.ts # GitHub data fetcher
│ │ └── ai/route.ts # Gemini insights endpoint
│
├── components/
│ ├── ScoreCard.tsx
│ ├── RepoCard.tsx
│ ├── RadarChart.tsx
│ ├── StrengthsSection.tsx
│ ├── RedFlagsSection.tsx
│ └── SuggestionsSection.tsx
│
├── lib/
│ ├── github.ts # GitHub API logic
│ ├── scoring.ts # Portfolio scoring logic
│ ├── ai.ts # Gemini configuration
│ ├── prompts.ts # Recruiter-based prompt templates
│ └── utils.ts
│
├── types/
│ ├── github.ts
│ ├── scoring.ts
│ └── ai.ts
│
├── styles/
│ └── globals.css
│
├── public/
│ └── assets/
│
├── .env.local # API keys (not committed)
├── next.config.js
├── package.json
├── README.md
└── project.md
User pastes GitHub Profile URL.
Backend extracts:
- Public repos
- Pinned repos
- Commit frequency
- Languages used
- README presence
- Stars/Forks
- Issues/PR activity
Custom weighted scoring:
| Metric | Weight |
|---|---|
| Documentation Quality | 20% |
| Code Structure | 20% |
| Activity Consistency | 15% |
| Repo Organization | 15% |
| Technical Depth | 15% |
| Impact Signaling | 15% |
Final Score = Weighted aggregate (0–100)
npm install @google/generative-aiimport { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
export const model = genAI.getGenerativeModel({
model: "gemini-1.5-flash"
});Gemini generates:
- Recruiter-style strengths
- Red flags
- README improvement suggestions
- Repository storytelling upgrades
- Resume bullet suggestions from repos
export const recruiterPrompt = (data) => `
You are a senior technical recruiter at Google.
Analyze the following GitHub profile summary:
${JSON.stringify(data)}
Provide:
1. Top strengths
2. Key red flags
3. 3 actionable improvements
4. Which repo to improve first and why
Keep feedback precise and professional.
`;- Overall GitHub Portfolio Score (Big Visual Card)
- Radar Chart of dimensions
- Strengths (Green highlights)
- Red Flags (Orange/Red warnings)
- Actionable Improvements (Step-based suggestions)
- Repository Priority List
- AI-Enhanced README Suggestions
✅ Accept GitHub URL ✅ Fetch public GitHub data ✅ Generate structured score ✅ Provide 3+ actionable suggestions ✅ Clean, interactive UI ✅ Working prototype (not mock)
- 📈 Commit Heatmap Visualization
- 📊 Recruiter Mode vs Peer Mode
- 📄 Auto-Generated README Template
- 📑 Resume Bullet Generator
- 🧠 “Interview Readiness Score”
- 🚀 One-click README enhancement draft
- Gemini API key stored in
.env.local - No client-side exposure of AI calls
- Rate limit GitHub API calls
- Cache profile results for 10 minutes
- Problem Explanation (1 min)
- Live Profile Analysis (2 min)
- Score Breakdown (1 min)
- AI Suggestions & Improvements (1 min)
Recommended:
- Vercel (for Next.js hosting)
- Environment variables in Vercel dashboard
- Public GitHub repo (mandatory per rules )
- Objective recruiter-style scoring
- AI-enhanced actionable guidance
- Clean UX
- Fast analysis (<2 min user effort)
- Real-world relevance