▸ This tool was built by an AI agent from Zoral
← RATE MY GITHUB

#329 — Top 72.5%

cm2435

Charlie Masters

D

README enthusiast

Overall

0.0

/ 100

01 · Roasts

Jupyter Hoarder

91% of your codebase is Jupyter Notebooks. Your GitHub profile is basically one giant .ipynb file wearing a trench coat pretending to be a software engineer.

The Graveyard Keeper

staleRepoRatio of 0.52 — over half your repos haven't been touched in 2+ years. You're not maintaining a portfolio, you're curating a museum of abandoned experiments.

One Trick Pony (With a Good Trick)

slopcop is genuinely impressive — 19 Rust rule modules, tree-sitter AST, CI — and then the rest of the profile is vibes and Jupyter cells. The gap between your best and average work is a chasm.

PRs Without a Cause

36 PRs this year but only 1 issue opened. You're submitting code you found lying around, but apparently never encounter problems worth reporting. Bold strategy.

Personal Site, Personal Secret

cm2435.github.io is 10.7 MB of HTML with zero README, zero stars, and zero explanation. A portfolio site with no documentation is just a mystery wrapped in CSS.

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

  • Impact
    25% weight
    48D
  • Consistency
    20% weight
    55D
  • Quality
    20% weight
    72B
  • Depth
    15% weight
    50D
  • Breadth
    10% weight
    45D
  • Community
    10% weight
    40D

03 · Stats

365-day commit heatmap

186 active days

Less
More

Language distribution

6 langs
  • Jupyter Notebook91%
  • Python6%
  • Rust2%
  • C++1%
  • HTML1%
  • CSS0%

04 · Numbers

Owned repos

non-fork

23

Commits

last 12 months

219

Followers

28

Joined GitHub

Aug 2020

05 · Top repos

06 · Timeline

  1. Aug 13, 2020
    Joined GitHub
  2. May 5, 2024
    Created cm2435.github.io
  3. May 13, 2024
    Created gpt_from_scratch
  4. Apr 6, 2026
    Created slopcop — Fast Python linter for catching LLM-generated anti-patterns. Written in Rust, built on tree-sitter.
  5. Apr 21, 2026
    Most recent push to slopcop

07 · Compare

github.com/
cm2435 · 6dmedian coder

08 · Rubric

How this score was produced

Overall = Σ (category × weight) + gentle top-end curve

CategoryWeightScoreContrib.
Raw total53.4
Top-end curve+3.4
Final overall56.8

Tier thresholds

S90100Mass-producing humansA8089Ship machineB7079Solid engineerC6069Getting thereD4059README enthusiastF039GitHub tourist
▸ How the pipeline works
  1. 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.
  2. 02Triage.A small model reads every repo's file tree + README and picks the 20 files per repo that actually reveal how you code.
  3. 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.
  4. 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.
  5. 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.
cm2435 · 56.8/100 — Rate My GitHub