How GitProof AnalyzesDeveloper Profiles
A comprehensive technical overview of our metrics, heuristics, and analytical framework for evaluating developer contributions.
Abstract
GitProof employs a multi-dimensional analytical framework to assess developer contributions across impact, consistency, collaboration, and craft. Our methodology combines quantitative metrics from GitHub's API with sophisticated heuristics to generate personalized insights. This document details the mathematical foundations, algorithmic processes, and decision trees underlying each component of the GitProof Report Card.
1. Impact Score Calculation
1.1 Overview
The Impact Score represents the weighted average of a developer's most significant projects, capped at 50 points. We calculate individual project scores using a composite formula that considers popularity, recency, and maturity.
1.2 Per-Project Score Formula
// Popularity Component (0-40 points, ~40-45% weight)
popularity = log₂(stars + forks × 2 + 1) × 4.5
popularity = min(popularity, 40)
// Recency Component (0-15 points, ~25-30% weight)
if daysSincePush < 7: recency = 15 // S-tier
if daysSincePush < 30: recency = 12 // A-tier
if daysSincePush < 90: recency = 8 // B-tier
if daysSincePush < 180: recency = 5 // C-tier
if daysSincePush < 365: recency = 2 // D-tier
else: recency = 0 // Abandoned
// Maturity Component (0-15 points, ~25-30% weight)
maturity = 0
if description.length > 100: maturity += 5 // Detailed
else if description.length > 20: maturity += 3 // Basic
if readme.length > 2000: maturity += 5 // Comprehensive
else if readme.length > 500: maturity += 3 // Good
else if readme.length > 100: maturity += 1 // Minimal
if homepage exists: maturity += 3
if topics.length ≥ 3: maturity += 3 // Well-tagged
else if topics.length ≥ 1: maturity += 1 // Basic tags
maturity = min(maturity, 15)
// Final Score
score = min(round(popularity + recency + maturity), 50)
1.3 Portfolio Aggregation
We use a weighted average of the top 6 projects, emphasizing your best work. Your top project carries 50% of the weight, with remaining projects contributing progressively less:
score = (
top1 × 50.0% + // Best project
top2 × 12.5% + // 2nd best
top3 × 12.5% + // 3rd best
top4 × 8.33% + // 4th best
top5 × 8.33% + // 5th best
top6 × 8.33% // 6th best
)
- Rewards quality over quantity - one great project matters more than many mediocre ones
- Prevents dilution from having too many projects
- Still encourages portfolio diversity (6 projects considered)
- Fair to focused developers with fewer, higher-impact projects
2. Consistency Metrics
2.1 Definition
Consistency measures the percentage of days with at least one commit over the trailing 365-day period, based on GitHub contribution data.
activeDays = heatmap.filter(day => day.count > 0).length
totalDays = min(heatmap.length, 365)
consistency = round((activeDays / totalDays) × 100)
2.2 Thresholds
3. Developer Archetypes
Developer archetypes are assigned using a priority-ordered decision tree. The system checks conditions from most exclusive to most common, assigning the first matching archetype.
3.1 Archetype Criteria (Priority Order)
The system evaluates conditions from top to bottom, assigning the first matching archetype. More exclusive archetypes are checked first.
Default Fallback
If no archetype criteria are met, the system assigns "Developer" as a neutral fallback. This typically indicates a newer profile or one with limited public activity. Build up your impact score to ≥15 (Active Builder), or get 5+ repos with ≥10 impact (Full Stack Dev) to unlock more specific archetypes.
4. Strength Detection Heuristics
Strengths are detected across 9 dimensions using rule-based heuristics. Each insight is assigned a strength level (high/medium/low) and the top 4 are displayed.
4.1 Detection Categories
Consistency & Activity
- • Consistency ≥90% → "Exceptional consistency" [HIGH]
- • Consistency ≥70% → "Strong commit consistency" [MEDIUM]
- • Streak ≥30 days → "Impressive X-day streak" [MEDIUM]
Impact & Quality
- • Impact ≥40 → "Elite-tier impact score" [HIGH]
- • Impact ≥30 → "High-impact portfolio" [HIGH]
- • ≥3 projects with Impact ≥30 → "X high-impact projects" [MEDIUM]
Community Engagement
- • ≥5 projects with 10+ stars → "Strong community engagement" [HIGH]
- • Max stars ≥100 → "Popular project with X stars" [HIGH]
- • Pull Requests ≥100 → "Prolific contributor" [HIGH]
Language Expertise
- • ≥70% specialization + ≥5 projects → "Deep X specialization" [HIGH]
- • ≥5 languages → "Polyglot developer" [MEDIUM]
- • Full-stack detection → "Full-stack versatility" [HIGH]
Documentation & Polish
- • ≥80% doc rate + ≥5 projects → "Exceptional documentation" [HIGH]
- • ≥70% maturity rate → "Well-polished projects" [MEDIUM]
5. Growth Focus Analysis
Privacy Note: Growth Focus recommendations are private and only visible in your editor. They never appear on your public profile.
Growth areas are identified across 8 dimensions, prioritized by impact, and limited to the top 3 most actionable recommendations.
5.1 Detection Logic
6. Grade Assignment
Grades are assigned based solely on Impact Score using fixed thresholds:
Conclusion
GitProof's methodology combines quantitative metrics with qualitative heuristics to provide developers with actionable, personalized insights. All calculations are performed on real-time data from GitHub's API, ensuring accuracy and transparency. As our platform evolves, we continue to refine these algorithms based on community feedback and emerging best practices in software development analytics.