Ranking System Docs

How the Ranking System Works

GitRank scores every verified Waterloo student's open-source impact using a weighted formula pulled directly from the GitHub API. Here's exactly how it works.

The Formula

// Rank Score calculation

rankScore = stars × 10

+ mergedPRs × 5

+ commits × 1

+ endorsements × 3

+ (ELO − 1200) × 0.5

GitHub stats are recalculated nightly. Endorsements update in real-time when peers endorse you. ELO rating starts at 1200 and shifts based on community votes in Battle mode. Higher weight is given to stars and PRs because they reflect external recognition and meaningful collaboration.

Metric Breakdown

Repository Stars

× 10 pts

Stars are the strongest signal of community impact. We count stars on non-forked repositories where you are the owner or primary contributor. A repo with 100 stars adds 1,000 points to your score.

  • Only counts repos you own (not forks)
  • Reflects real-world adoption of your work
  • Highest weight in the formula (≈ 50% of a typical score)

Merged Pull Requests

× 5 pts

Merged PRs represent meaningful collaboration — code that was reviewed, accepted, and shipped. We count your total lifetime merged pull requests across all public repositories.

  • Counts PRs merged into any public repo (yours or others)
  • Rewards contributions to popular open-source projects
  • Only merged PRs count — open or closed ones do not

Total Commits

× 1 pt

Commits show consistent, ongoing activity. We use GitHub's contribution graph to count total commit contributions across all public repositories. Steady contributors are rewarded even without big star counts.

  • Includes commits to any public repo with 3+ stars
  • Lowest individual weight but compounds over time
  • Private repo commits are not counted

Peer Endorsements

× 3 pts

Endorsements let verified UW students recognize each other. Click the heart icon on the leaderboard to endorse someone whose work you respect. Each endorsement adds 3 points to their score.

  • One endorsement per person (toggle on/off)
  • Only verified UW students can endorse
  • You cannot endorse yourself
  • Endorsements apply equally across all time windows

ELO Rating

(ELO − 1200) × 0.5

ELO is a peer-voted rating determined in Battle mode. Two random profiles are shown side-by-side and the community picks who has the better repos. Winners gain rating, losers drop — just like chess rankings.

  • Everyone starts at 1200 (baseline — no bonus or penalty)
  • Only the difference from 1200 counts toward your score
  • Rating above 1200 adds points, below 1200 subtracts
  • K-factor of 32 — ratings shift quickly early on

Example Score Calculation

Stars on owned repos842 × 10 = 8,420
Merged pull requests37 × 5 = 185
Total commits1,204 × 1 = 1,204
Peer endorsements12 × 3 = 36
ELO bonus (1280 − 1200)80 × 0.5 = 40
Rank Score9,885

Data Sync & Freshness

GitHub stats are fetched nightly via the GitHub GraphQL API. Rankings update once per day. If you just verified or made a big push, your score will reflect it on the next sync.

Get on the Board

Already signed in with GitHub? Link your @uwaterloo.ca email to join the official rankings. Verification takes less than a minute.

Verify & Join Rankings