full transparency ✦ every weight published

How scoring works

Every RepoLens score is computed the same way, from public GitHub data only, with no manual adjustments. The criteria mirror what recruiters and hiring managers consistently say they look for — documented projects, live demos, real collaboration, consistent activity — and every weight is published below so you can verify any score yourself.

The overall score (0–100)

ComponentWeightWhat it measures
Repo quality45Average quality of your top repos (by stars, then recency) — breakdown below
Recent activity15Commits in the last 90 days across those repos (full marks at ~60)
Language breadth10Distinct languages in real use (full marks at 4+)
Portfolio coverage15How many of the 10 coverage areas you hit — tests, CI, demos, docs, backend, containers, data/AI, profile README, collaboration, licensing
Collaboration10Merged pull requests in other people's repos (weighted highest) and code reviews given
Commit craft5Commit-message quality: descriptive messages score, “fix”/“wip” spam costs

RepoLens deep-dives your top 12 non-fork repositories. It reads real language bytes, the full README of each repo, up to 100 of your commits per repo, and your activity outside your own repos via GitHub search.

Per-repo quality (0–100 each)

SignalPoints
README quality (structure, code examples, screenshots, install steps, length)25
Recent push (≤3 months full, ≤12 months partial)15
Description (≥20 characters)10
Topics (2+)10
License10
Live demo / homepage link10
Community (stars: 1+/5+/20+)10
README present at all10

Tiers — and why “EXCELLENT” is rare

Scores map to three tiers: EXCELLENT (80–100), DEVELOPING (50–79), and NEEDS WORK (0–49). The scale is deliberately hard: the median profile we've analyzed scores around 50, and only roughly one in ten clears 80. Reaching EXCELLENT requires strong READMEs and live demos and recent activity and real collaboration — the same bar a picky hiring manager applies. If the leaderboard shows only a handful of EXCELLENT profiles, that's the scale working, not a bug.

Percentiles & the leaderboard

Your percentile is computed against every profile ever analyzed here (each person counted once, by their latest score) — “better than 84% of 221 analyzed” means exactly that. The leaderboard ranks the latest score per profile; anyone can join it just by being analyzed. Scores refresh when a profile is re-analyzed (analyses are cached for six hours), so the board tracks reality, not a snapshot.

What we don't measure (yet)

Honesty matters more than flattery: RepoLens can't see private repositories, doesn't read your actual code quality (it measures the signals around the code), doesn't know which repos you've pinned, and samples rather than exhaustively crawls very large accounts. A high score means your public portfolio communicates well — pair it with genuinely good work.

Data & privacy

Everything analyzed is public GitHub data, fetched via GitHub's official API. We store the minimum needed for percentiles and history: username, score, primary language, and timestamp, plus a short-lived cached copy of the analysis (hours to days) so repeat lookups are instant. No emails, no tracking of who viewed what. Tokens you paste are used for one request and never stored; sign-in tokens for Fix PRs live only in your own browser cookie.