01 · Roasts
Heatmap? What heatmap?
52 weeks of pure void. Every single one of the 364 cells in your contribution heatmap is a zero. The GitHub grass isn't just dead — it never grew.
Joined in 2009, peaked in 2021
You've had a GitHub account for 15 years and have 2 repos totaling 24KB. That's roughly 1.6KB of code per year. A README file grows faster than this portfolio.
Your dotfiles have more commits than your career
4 commits to a 3KB shell config file is your most active project. The bar wasn't just low — it was underground.
The personal website that time forgot
jamesmackinnon.github.com has no README, no license, no CI, and hasn't been touched since March 2021. It has inline Google Analytics tracking zero visitors to zero content.
15 years, 38 followers, 0 PRs
You've been on GitHub since the Obama administration and haven't opened a single pull request or issue this year. The followers are either bots or incredibly patient.
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% weight15F
- Consistency20% weight5F
- Quality20% weight25F
- Depth15% weight35F
- Breadth10% weight25F
- Community10% weight25F
03 · Stats
365-day commit heatmap
0 active days
Language distribution
- Shell39%
- HTML32%
- CSS29%
04 · Numbers
Owned repos
non-fork
2
Commits
last 12 months
0
Followers
38
Joined GitHub
Apr 2009
05 · Top repos
jamesmackinnon /
jamesmackinnon.github.com
Personal website with minimal portfolio content; static HTML/CSS with no build process, tests, CI, or documentation. Last push 2021, active early in repo history but now dormant.
jamesmackinnon /
dotfiles
Personal dotfiles repo with minimal scope: 3KB of shell configs (.tmux.conf, .zshrc), last commit Sept 2021, single star. No tests, CI, or license. Bare-bones README provides no setup guidance.
06 · Timeline
- Apr 24, 2009Joined GitHub
- Feb 13, 2012Created dotfiles — Config files and preferences
- Mar 13, 2013Created jamesmackinnon.github.com — Personal website of various nerdery.
- Sep 1, 2021Most recent push to dotfiles
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.