01 · Roasts
316 PRs, 24 followers
You filed 316 pull requests this year and somehow only have 24 followers. You're doing the work of a full team and getting the recognition of a private Slack bot.
75% Graveyard Ratio
Three-quarters of your repos haven't been touched in over 2 years. Your GitHub profile is less a portfolio and more a digital archaeological dig.
earthquake_spectra (2018–2018)
No README. No tests. No CI. No license. Magic numbers like `2*3.14159` floating in the void. You discovered math.pi existed and then abandoned the scene of the crime.
CSS Dominant Systems Dev
Your bio says 'systems' but your language split says CSS (33%) and JavaScript (31%) before Rust (22%). The domain label and the codebase are having a disagreement.
Stars: 57 across 25 repos
57 total stars across 25 repositories works out to 2.28 stars per repo. Even your own repos are politely declining to endorse you.
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% weight55D
- Quality20% weight69C
- Depth15% weight50D
- Breadth10% weight65C
- Community10% weight50D
03 · Stats
365-day commit heatmap
256 active days
Language distribution
- CSS33%
- JavaScript31%
- Rust22%
- HTML10%
- Python3%
- TypeScript0%
- Other1%
04 · Numbers
Owned repos
non-fork
8
Commits
last 12 months
250
Followers
24
Joined GitHub
Mar 2016
05 · Top repos
ImJeremyHe /
gents
Rust tool for auto-generating TypeScript interfaces from Rust code. Typed, tested, CI, modular proc-macro architecture. Small but focused niche project with working implementation.
ImJeremyHe /
xmlserde
User-friendly Rust XML serialization library with derive macros, tests, CI, and typed code—well-structured, documented, shipped as active portfolio project.
ImJeremyHe /
earthquake_spectra
Small Python project computing earthquake response spectra (地震动反应谱) via nonlinear SDOF analysis. Lacks README, tests, CI, license, type hints; minimal documentation; 6 commits over ~7 months; unstructured codebase with hardcoded values and rough implementation suitable for personal experimentation.
06 · Timeline
- Mar 29, 2016Joined GitHub
- Apr 26, 2018Created earthquake_spectra — 地震动反应谱
- Mar 3, 2023Created gents — A tool for generating Typescript interfaces in your Rust code
- Mar 3, 2023Created xmlserde — A user-friendly Rust library for serializing or deserializing XML files
- Jun 19, 2026Most recent push to xmlserde
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.