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)
| Component | Weight | What it measures |
|---|---|---|
| Repo quality | 45 | Average quality of your top repos (by stars, then recency) — breakdown below |
| Recent activity | 15 | Commits in the last 90 days across those repos (full marks at ~60) |
| Language breadth | 10 | Distinct languages in real use (full marks at 4+) |
| Portfolio coverage | 15 | How many of the 10 coverage areas you hit — tests, CI, demos, docs, backend, containers, data/AI, profile README, collaboration, licensing |
| Collaboration | 10 | Merged pull requests in other people's repos (weighted highest) and code reviews given |
| Commit craft | 5 | Commit-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)
| Signal | Points |
|---|---|
| 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 |
| License | 10 |
| Live demo / homepage link | 10 |
| Community (stars: 1+/5+/20+) | 10 |
| README present at all | 10 |
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.