01 · Roasts
99% JavaScript, 0% Ambition
Your language breakdown is literally 99% JavaScript, 0% CSS, 0% TypeScript — you discovered one tool and decided that's all the universe needs. Even the CSS is rounding-error territory.
26 Commits, 28 PRs — Wrong Repo
You made 28 pull requests and 18 issues this year but only pushed 26 commits to your own repos. You're out here doing everyone else's homework while your own house has literal empty folders in it.
'things' Is a Mood, Not a Repo
You created a repo called 'things', made 5 commits in 2 days, then never touched it again. At least give it a README so future archaeologists know what 'things' were supposed to be.
gitmastery-ZavierCSJ-remote-control
The repo name is longer than its entire commit history (zero). You initialized it on August 18th and immediately lost interest. Remote control of nothing.
Heatmap Goes Dark After Week 28
Your heatmap shows a cliff-edge dropout after week 27 — 24 consecutive weeks of zero activity. Either you graduated, got a real job, or both. Either way, GitHub noticed.
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% weight25F
- Consistency20% weight20F
- Quality20% weight22F
- Depth15% weight35F
- Breadth10% weight25F
- Community10% weight40D
03 · Stats
365-day commit heatmap
35 active days
Language distribution
- JavaScript99%
- CSS0%
- TypeScript0%
- Other1%
04 · Numbers
Owned repos
non-fork
4
Commits
last 12 months
26
Followers
1
Joined GitHub
Jan 2025
05 · Top repos
ZavierCSJ /
MunchMaps
NUS Orbital food discovery app with map/dashboard/social features. Untyped JavaScript, no tests/CI, minimal doc, but functional Supabase-backed Next.js with structured layout and active commits over 5 months.
ZavierCSJ /
things
Empty scaffold repo with 1 KB total size, no files fetched, 5 commits across 2 days, no documentation, tests, CI, or license. Appears to be a placeholder initialization.
ZavierCSJ /
gitmastery-ZavierCSJ-remote-control
Empty scaffold with zero commits since creation on 2025-08-18. No files, no README, no documentation, no tests, no CI. Appears to be an initialized but abandoned repository.
06 · Timeline
- Jan 13, 2025Joined GitHub
- May 17, 2025Created MunchMaps — NUS Orbital Project
- Aug 18, 2025Created gitmastery-ZavierCSJ-remote-control
- Aug 18, 2025Created things
- Oct 18, 2025Most recent push to MunchMaps
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.