01 · Roasts
97% Graveyard
With a stale-repo ratio of 0.97, your GitHub profile is less a portfolio and more an archaeological dig site. 68 of your 70 repos are over 2 years old and haven't heard from you since.
11 Commits, 1 Year
You pushed 11 times in the last 12 months. That's less than once a month. Your dotfiles.nix got more love in a single week than the rest of your repos combined for the entire year.
Following: 0
147 people follow you and you follow exactly 0 back. Not a single person on GitHub is worth a follow? The hermit energy is immaculate.
Grunt in 2017
grunt-css-metrics peaked in 2013, got a patch in 2017, and has been quietly watching the JavaScript ecosystem age around it ever since. Gulp ate its lunch. Then Webpack ate Gulp's lunch.
73 Stars, Still Abandoned
grunt-css-metrics has your highest star count at 73, yet you haven't touched it in 8 years. Those stars are basically a memorial. People are starring a fossil.
Built using
Zoral
Shadows one worker for a week, then takes over their job with zero extra setup. Behaves exactly like the original.
zoral.ai
02 · Category breakdown
- Impact25% weight46D
- Consistency20% weight55D
- Quality20% weight57D
- Depth15% weight50D
- Breadth10% weight65C
- Community10% weight40D
03 · Stats
365-day commit heatmap
121 active days
Language distribution
- JavaScript56%
- Go23%
- HTML6%
- CSS6%
- Nix3%
- Lua2%
- Other4%
04 · Numbers
Owned repos
non-fork
36
Commits
last 12 months
11
Followers
147
Joined GitHub
May 2009
05 · Top repos
phamann /
rollup-plugin-hash
Specialized Rollup plugin for bundle hash-based filenames with solid test coverage and CI, but untyped JavaScript and stalled since 2020. Modest adoption (47 stars) in a narrow niche.
phamann /
dotfiles.nix
Personal Nix dotfiles repo with multi-host darwin/linux config. Modular architecture using home-manager, documented with ARCHITECTURE.md and design.md, but only 3 stars and no license or CI.
phamann /
grunt-css-metrics
A Grunt plugin for CSS file analysis with clear documentation, structured layout, and basic test setup. Untyped JavaScript, last updated in 2017, meeting minimal quality standards for a shipped tool.
06 · Timeline
- May 1, 2009Joined GitHub
- Jun 9, 2013Created grunt-css-metrics — Grunt task to analyse css files and log simple metrics.
- Jan 19, 2017Created rollup-plugin-hash — Rollup plugin to compose bundle output filenames with unique hashes
- Apr 29, 2023Created dotfiles.nix — ❄️ My Nix-powered dotfiles
- Mar 22, 2026Most recent push to dotfiles.nix
07 · Compare
08 · Rubric
How this score was produced
Overall = Σ (category × weight) + gentle top-end curve
Tier thresholds
▸ How the pipeline works
- 01Scrape.Pull every non-fork repo pushed in the last 90 days, plus your contribution calendar, followers, and language byte counts — straight from GitHub's REST & GraphQL APIs.
- 02Triage.A small model reads every repo's file tree + README and picks the 20 files per repo that actually reveal how you code.
- 03Grade each repo. All repos run in parallel through a fast scoring model that reads the picked files and rates each one independently on Impact, Quality, and Depth — with evidence citations.
- 04Aggregate. A larger reasoning model combines the per-repo scores with server-computed stats (heatmap, commit cadence, language entropy, follower count) to produce the 6-dimension profile score + roasts.
- 05Correct.Deterministic server-side checks enforce anchor-scale floors (e.g. a profile with 2,000+ public commits can't score 30 Consistency) and recompute the final verdict.
~90 seconds per profile, ~$0.25 in compute. Total of ~240 files read across your top-12 repos. One rating per GitHub account per day.
▸ Data sources & caveats
- Heatmap & commit totals: GitHub GraphQL
contributionsCollection— covers the last 365 days, includes private repos when the user has opted in (default). - Language %: byte totals across the top 30 owned non-fork repos.
- Curve: a small upward nudge centered on raw score ≈ 70, capping at 100. Prevents specialists from being unfairly penalised for narrow breadth.
- Anchor corrections: when server-measured signals (e.g. privateWorkLikely, multiRepoVolume, follower count) mandate a minimum category score, the aggregation step enforces it. These are signal-conditional, not identity-based floors.