01 · Roasts
97% Graveyard
With a staleRepoRatio of 0.97, your GitHub is less a portfolio and more a digital archaeological dig. Out of 49 repos, roughly 47.5 of them are fossils.
Zero Commits This Year
totalCommitsYear = 0. The heatmap looks like a sensory deprivation tank. Even the handful of dots that exist appear to be accidental.
ActionScript Archaeologist
20% of your codebase is ActionScript — a language that Adobe killed in 2020. Flash called, it wants its nostalgia back.
Stack Overflow Superfan
Two of your three scored projects are SO Careers scrapers. At some point you had to ask yourself: 'Is this a hobby or a cry for help from the job market?'
44 Stars Across 49 Repos
Less than 1 star per repo on average. At this rate, each project is approximately 90% invisible to the outside world.
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% weight15F
- Consistency20% weight5F
- Quality20% weight35F
- Depth15% weight35F
- Breadth10% weight65C
- Community10% weight25F
03 · Stats
365-day commit heatmap
4 active days
Language distribution
- JavaScript40%
- ActionScript20%
- Python17%
- CSS13%
- TypeScript3%
- Rust2%
- Other5%
04 · Numbers
Owned repos
non-fork
29
Commits
last 12 months
0
Followers
47
Joined GitHub
Apr 2009
05 · Top repos
aparij /
react_rogue_ts
TypeScript roguelike game using React and Canvas, with typed classes and structured architecture, but experimental-stage with minimal stars, no tests/CI, and thin documentation beyond live demo.
aparij /
soCareers-Data
Stack Overflow Careers data processing scripts with tag analysis and visualization. Minimal stars (19), no tests/CI, untyped Python, sparse documentation, and dormant since Feb 2018.
aparij /
soCareersScrape
A minimal StackOverflow careers scraper using Scrapy. 13 stars, ~6 KB, 12 commits over ~15 months. Untyped Python, no tests/CI/license, barebones README. Experimental personal project with working but thin output.
06 · Timeline
- Apr 14, 2009Joined GitHub
- May 2, 2016Created soCareersScrape — StackOverflow careers site scraper
- Jul 7, 2016Created soCareers-Data — Data and data processing scripts of StackOverflow Careers pages
- Apr 22, 2020Created react_rogue_ts — Roguelike written with ReactJS + Typescript
- Feb 13, 2026Most recent push to react_rogue_ts
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.