01 · Roasts
The 87% Problem
Your repo is basically a Jupyter Notebook with a GitHub account attached. 87% of your entire codebase is .ipynb — at this point just host on Google Colab and call it a day.
Half Your Repos Are Dead
staleRepoRatio = 0.51. You've abandoned more projects than most people start. 44 public repos and over half haven't seen a commit in 2+ years — that's not a portfolio, that's a graveyard.
Solo 100% of the Time
soloPct = 100%. Not a single collaborator across your entire GitHub history. Even your lab website — which is literally for a research lab — has zero contributors besides you.
170 Commits, 1 PR
You made 170 commits this year and submitted exactly 1 pull request to anyone else's code. GitHub is a social platform, Pranav. You're using it like a private hard drive.
DSA Repo: Aspirations vs. Reality
The DSA repo has 'TESTS=yes' but the per-repo evidence says the code has bugs and is incomplete. That's not tests — that's vibes in a .java file.
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% weight35F
- Quality20% weight52D
- Depth15% weight45D
- Breadth10% weight55D
- Community10% weight25F
03 · Stats
365-day commit heatmap
103 active days
Language distribution
- Jupyter Notebook87%
- Python6%
- TypeScript2%
- JavaScript2%
- C++1%
- CMake1%
- Other1%
04 · Numbers
Owned repos
non-fork
37
Commits
last 12 months
170
Followers
62
Joined GitHub
Nov 2019
05 · Top repos
pranav-bot /
sdfcl-lab-website
Academic lab website built with React+Vite, featuring team pages, project galleries, and Supabase-backed dynamic content. Typed language (JS), structured multi-file layout with meaningful docs, but no tests/CI and limited external reach.
pranav-bot /
DSA
Personal LeetCode solutions repository with Java implementations of classic DSA problems. Code is incomplete, contains bugs, and lacks proper structure, but shows some algorithmic knowledge across multiple problem types.
pranav-bot /
Qwen-Qwen3.5-0.8B-blindspots
One-shot Jupyter notebook exploring Qwen3.5-0.8B model's blind spots in multilingual idiom translation and polysemy resolution. Unfinished exploration with no documentation, tests, or CI.
06 · Timeline
- Nov 3, 2019Joined GitHub
- Sep 28, 2021Created DSA — Solutions to Leetcode Problems
- Jan 13, 2025Created sdfcl-lab-website
- Mar 7, 2026Created Qwen-Qwen3.5-0.8B-blindspots
- Apr 24, 2026Most recent push to sdfcl-lab-website
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.