01 · Roasts
Jupyter Hoarder
59% of your codebase is Jupyter Notebooks. That's not a portfolio — that's a graveyard of half-finished assignments formatted as 'projects'.
The Ghost of MATLAB Past
matlab-jsystem hasn't been touched since December 2019. At 9 stars it's your most popular repo, which says everything about the rest of the lineup.
Zero PRs, Zero Issues
totalPRsYear = 0, totalIssuesYear = 0. You've been on GitHub since 2009 and have contributed to the open-source ecosystem exactly as much as a read-only spectator.
Stale 79%
79% of your repos haven't been pushed in over 2 years. You don't have a portfolio — you have a museum of discontinued experiments.
15-Year Veteran, 115 Commits
Joined GitHub in April 2009. Logged 115 public commits this year. That's roughly one commit every 3 days — from someone who's been here longer than most frameworks have existed.
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% weight40D
- Consistency20% weight55D
- Quality20% weight62C
- Depth15% weight55D
- Breadth10% weight65C
- Community10% weight40D
03 · Stats
365-day commit heatmap
297 active days
Language distribution
- Jupyter Notebook59%
- Python12%
- TypeScript12%
- C8%
- MATLAB4%
- Vim Script2%
- Other3%
04 · Numbers
Owned repos
non-fork
14
Commits
last 12 months
115
Followers
31
Joined GitHub
Apr 2009
05 · Top repos
avivrosenberg /
avivr.net-quartz
Personal fork of Quartz v4 (a digital garden static site generator) with custom TypeScript components and plugins for Aviv Rosenberg's portfolio site (avivr.net). Includes types, tests, CI, and structured architecture but limited independent impact.
avivrosenberg /
dotfiles
Personal dotfiles repo with shell configs, editor configs (nvim/vim/zsh), and a Python-based symlink installer. Well-structured multi-config tooling with modular layout but minimal README scope.
avivrosenberg /
matlab-jsystem
MATLAB utility library providing a faster drop-in replacement for the `system()` command using Java's ProcessBuilder. Well-documented with benchmarks and tests, but narrow domain appeal and modest adoption (9 stars, last push 2019).
06 · Timeline
- Apr 20, 2009Joined GitHub
- Aug 11, 2012Created dotfiles — My dotfiles.
- May 7, 2016Created matlab-jsystem — jsystem: Fast drop-in replacement for matlab's slow 'system' command
- Jan 12, 2025Created avivr.net-quartz — Based on https://github.com/jackyzha0/quartz.git
- Apr 10, 2026Most recent push to dotfiles
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.