01 · Roasts
Pygame Trilogy, Zero Tests
Three pygame puzzle games, three READMEs, zero test files, zero CI pipelines. You've written the same project three times and still won't verify it works.
10 Commits All Year
Your entire 2025 contribution record fits in a fortune cookie. 10 commits across 52 weeks — your heatmap looks like a Rorschach test for inactivity.
MCTS but No git log
You implemented Monte Carlo Tree Search — an algorithm that explores thousands of future states — yet your own project's future state is: abandoned after 8 sparse commits.
Star Farmer (Unsuccessful)
6 total stars across 16 repos. That's 0.375 stars per repo. Your own mom hasn't starred these.
Type Hints? Never Heard of Them
76% Python, 0% type hints across every single repo. mypy would crash trying to find something to complain about — and then give up, just like your CI pipeline.
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% weight30F
- Consistency20% weight20F
- Quality20% weight45D
- Depth15% weight35F
- Breadth10% weight40D
- Community10% weight25F
03 · Stats
365-day commit heatmap
3 active days
Language distribution
- Python76%
- JavaScript18%
- CSS6%
- HTML0%
- Batchfile0%
04 · Numbers
Owned repos
non-fork
16
Commits
last 12 months
10
Followers
9
Joined GitHub
Nov 2020
05 · Top repos
vSparkyy /
2048-Expectimax
Personal 2048 game implementation with Expectimax solver in pure Python+pygame. Typed language absent, no tests/CI, but README present, structured code with clear solver logic, and ~65kb codebase showing modest sustained effort over ~2 weeks.
vSparkyy /
Ultimate-Tic-Tac-Toe-MCTS
Personal educational project implementing Ultimate Tic Tac Toe with MCTS AI in untyped Python. Interactive Pygame UI with working game logic, but lacks tests, CI, structured documentation, and type hints. Modest scope with ~8 commits over 8 months.
vSparkyy /
Fifteen-Puzzle-IDAStar
Personal puzzle game with IDA* solver. Features interactive Pygame UI and heuristic-based AI. Untyped Python, functional but lacks tests, CI, and robust documentation of algorithm details.
06 · Timeline
- Nov 26, 2020Joined GitHub
- Jan 17, 2025Created Fifteen-Puzzle-IDAStar — The classic fifteen puzzle, solved manually or automatically with IDA* & Linear Conflicts
- Jan 30, 2025Created 2048-Expectimax — The classic 2048 game developed by Gabriele Cirulli recreated in pure Python with an Expectimax autosolver.
- Feb 8, 2025Created Ultimate-Tic-Tac-Toe-MCTS — Ultimate Tic Tac Toe, a reimagined version of the classic Tic Tac Toe game, visualised in Pygame with a Monte-Carlo Tree Search solver.
- Oct 6, 2025Most recent push to Ultimate-Tic-Tac-Toe-MCTS
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.