01 · Roasts
One-Hit Wonder
566 of your 597 total stars live in a single repo. FutureRestore-GUI is genuinely good work, but the other 45 repos are essentially carrying empty boxes on the resume.
Ghost Town Portfolio
staleRepoRatio=0.85 — 85% of your repos haven't been touched in 2+ years. That's not a portfolio, that's a GitHub graveyard with one survivor.
Heatmap Desert
Your contribution graph looks like the Sahara with a few oases in November. 35+ consecutive weeks of zero commits is a bold strategy for someone with 161 followers watching.
OTA-Blocker: Two-Day Sprint
You created and abandoned OTA-Blocker-Profile in literally 2 days. No README, no license, 30 commits in 48 hours — that's not a project, that's a pub crawl.
37 PRs, 0 Issues
You opened 37 pull requests this year but filed zero issues. Either every codebase you touched was perfect, or you're just here to merge and ghost.
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% weight61C
- Consistency20% weight55D
- Quality20% weight62C
- Depth15% weight55D
- Breadth10% weight55D
- Community10% weight50D
03 · Stats
365-day commit heatmap
37 active days
Language distribution
- JavaScript73%
- Java20%
- Dart4%
- C++1%
- CMake1%
- Ruby0%
- Other1%
04 · Numbers
Owned repos
non-fork
33
Commits
last 12 months
147
Followers
161
Joined GitHub
Nov 2018
05 · Top repos
CoocooFroggy /
FutureRestore-GUI
Indie GUI tool for iOS device restoration with 566 stars, multi-platform distribution (macOS/Windows/Linux), typed Java codebase, CI/CD pipeline, and documented feature set but no test suite.
CoocooFroggy /
OTA-Blocker-Profile
Single-purpose iOS configuration profile repo with minimal documentation and shallow commit history. One .mobileconfig file for blocking OTA updates with installation guide but no substantive code architecture or ongoing maintenance.
CoocooFroggy /
Discord-Parrot-Bot
A minimal Discord bot tutorial project written in Java with only 2 source files and a single commit. No documentation, no tests, and no sustained development activity.
06 · Timeline
- Nov 26, 2018Joined GitHub
- Mar 3, 2021Created FutureRestore-GUI — A modern GUI for FutureRestore, with added features to make the process easier.
- May 3, 2021Created OTA-Blocker-Profile
- Aug 1, 2021Created Discord-Parrot-Bot
- Mar 27, 2023Most recent push to FutureRestore-GUI
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.