01 · Roasts
The 97% Graveyard Curator
staleRepoRatio=0.97 means 97% of your 102 repos haven't been touched in 2+ years. Your GitHub profile is less a portfolio and more a museum of good ideas from the Obama administration.
58 Commits, 2273 Fans
You have 2,273 followers watching you commit 58 times this year. That's roughly one commit per 39 admirers. The people want content, Nathan.
Following 4 People
You follow exactly 4 people on GitHub. Either you know something about digital minimalism the rest of us don't, or you've ascended beyond needing to acknowledge peers exist.
The CoffeeScript Fossil
10% of your codebase is CoffeeScript — a language that peaked when skinny jeans were still cool. monarch's relational algebra is genuinely impressive; it's just written in a language that TypeScript ate for breakfast in 2015.
Burst Coder
Your heatmap shows weeks of complete silence followed by furious 4-intensity sprints, then silence again. You're not a developer, you're a dormant volcano.
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% weight60C
- Quality20% weight57D
- Depth15% weight55D
- Breadth10% weight65C
- Community10% weight55D
03 · Stats
365-day commit heatmap
165 active days
Language distribution
- Ruby49%
- JavaScript31%
- CoffeeScript10%
- Rust9%
- Objective-C0%
- Shell0%
- Other1%
04 · Numbers
Owned repos
non-fork
29
Commits
last 12 months
58
Followers
2,273
Joined GitHub
Feb 2008
05 · Top repos
nathansobo /
screw-unit
BDD testing framework with nested describes, interactive runner, and DSL-like syntax (186 stars). Well-structured client/lib code with comprehensive matchers, but unmaintained since 2010 and lacks modern type safety.
nathansobo /
treetop
PEG-based parsing DSL for Ruby with 1k stars and production-category tooling footprint, but dormant since 2018 with no tests or CI infrastructure.
nathansobo /
monarch
Client-side relational ORM framework in CoffeeScript with structured architecture, comprehensive tests, but abandoned since 2013 with limited adoption (37 stars, last push 10 years ago).
06 · Timeline
- Feb 29, 2008Joined GitHub
- Feb 29, 2008Created treetop — A Ruby-based parsing DSL based on parsing expression grammars.
- Mar 9, 2008Created screw-unit — A Javascript BDD Framework with nested describes, a convenient assertion syntax, and an intuitive test browser.
- Aug 23, 2011Created monarch — A client-side relational modeling framework. Like a blend of ActiveRecord and Backbone, but different and better.
- May 9, 2018Most recent push to treetop
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.