01 · Roasts
90% Graveyard Curator
A staleRepoRatio of 0.90 means 9 out of every 10 repos you own haven't been touched in over 2 years. Your GitHub is less a portfolio and more a digital museum of abandoned ambitions.
23 Commits in a Year
You averaged fewer than 2 commits per month this year. drive.vote shipped a whole voter-dispatch system — surely okrapp deserves more than a long weekend?
Civic-Tech One-Hit Wonder
Your strongest project coordinated real election-day rides in Philadelphia in 2016 and then promptly went to sleep forever in December 2018. Democracy apparently has an expiration date.
bucket_head Lives in Amber
A 100-line S3 wrapper from 2009 with tests marked 'should_eventually' — a note to future-you that never arrived. Last touched 2011. Ruby 1.8 energy preserved perfectly.
Bio > Commits
Ex-AWS Sustainability, NYTimes, WHOI, co-founder of Entulo, now @RMI — incredible resume, 23 public commits this year. The LinkedIn is doing all the heavy lifting.
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% weight20F
- Quality20% weight57D
- Depth15% weight50D
- Breadth10% weight65C
- Community10% weight40D
03 · Stats
365-day commit heatmap
54 active days
Language distribution
- Ruby52%
- Python14%
- JavaScript13%
- HTML12%
- CSS3%
- Jupyter Notebook2%
- Other4%
04 · Numbers
Owned repos
non-fork
31
Commits
last 12 months
23
Followers
202
Joined GitHub
Feb 2008
05 · Top repos
john /
drive.vote
Ruby on Rails app for coordinating election-day voter transportation. Functional multi-feature system (voter signup via SMS, driver dispatch, realtime tracking) with tests and CI, but no license, inactive since Dec 2018, and modest stars (14).
john /
okrapp
TypeScript OKR management app with FastAPI backend, React frontend, Auth0 integration. Typed, documented, structured codebase. Early-stage project (4 days old) with foundational CRUD operations but incomplete feature set and no tests.
john /
bucket_head
Small S3 upload utility gem from 2009 with basic functionality, 105 KB codebase, minimal tests, no CI, and 2-year hiatus since last push.
06 · Timeline
- Feb 28, 2008Joined GitHub
- Jul 1, 2009Created bucket_head — Gem to hit URI's and stick their contents on S3
- Jun 22, 2016Created drive.vote — Drive the Vote arranges free rides to the polls on election day.
- Mar 7, 2026Created okrapp — A basic app to do OKRs across org levels
- Mar 11, 2026Most recent push to okrapp
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.