01 · Roasts
The Graveyard Keeper
92% of your 97 repos haven't been touched in 2+ years. That's not a portfolio — that's a GitHub museum with 89 exhibits under a dustsheet.
Vim Script Supremacist
48% of your codebase is Vim Script. Your dotfiles repo has more commits than most people's production apps, yet zero tests and zero CI. The cobbler's children have no shoes.
Zero PRs, Zero Problems
0 external PRs in the past year. 143 people are following you, and you haven't contributed a single line to anyone else's code. You've gone full hermit mode.
ember-sync: The 2015 Banger
Your biggest star earner (280 ⭐) is an alpha-stage Ember.js offline-sync library that peaked circa 2015 and has been frozen ever since. The framework it targets has itself become a museum piece.
The Prompt Whisperer
Your most actively developed repo right now is private-prompts — 0 stars, 0 forks, for your eyes only. Peak developer: building tools to help yourself build tools.
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% weight63C
- Consistency20% weight55D
- Quality20% weight62C
- Depth15% weight72B
- Breadth10% weight80A
- Community10% weight40D
03 · Stats
365-day commit heatmap
206 active days
Language distribution
- Vim Script48%
- JavaScript12%
- Python11%
- PHP11%
- Ruby10%
- Shell7%
- Other1%
04 · Numbers
Owned repos
non-fork
48
Commits
last 12 months
224
Followers
143
Joined GitHub
Apr 2009
05 · Top repos
kurko /
dotfiles
Well-maintained personal dotfiles repo with 15 years of evolution, comprehensive bash/tmux/git tooling, documented setup automation, and structured multi-file architecture. No tests or CI, but active portfolio project shipping real-world developer tooling.
kurko /
ember-sync
Ember Sync provides offline-first sync for Ember.js apps via queue-based operations. 280 stars, HAS_README, HAS_TESTS, HAS_CI, well-structured ES6 modules, solid test coverage, but untyped JavaScript and alpha-stage stability constraints impact adoption.
kurko /
private-prompts
Personal skill/command library for Claude Code with structured multi-file layout. Contains 1 landing-page command and 5 well-documented skills (security audit, writing style, UI design, feedback tracking, vendor API assessment, adversarial review) demonstrating sustained personal productivity tooling.
06 · Timeline
- Apr 3, 2009Joined GitHub
- Aug 9, 2011Created dotfiles — Files that customize my bash.
- Jun 21, 2014Created ember-sync
- Jan 16, 2026Created private-prompts
- Apr 25, 2026Most 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.