01 · Roasts
The 20-Commit Wunderkind
596 total stars on your repos but only 20 commits in the past year. Your stars are coasting on momentum while you've apparently retired at 30.
76% Graveyard Curator
Three-quarters of your 73 repos haven't been touched in over 2 years. That's not a portfolio — that's a museum with a very small gift shop.
TypeScript or Bust
45% TypeScript + 36% JavaScript = 81% the same language with a different hat. Your C++ clocks in at a brave 2% — enough to list on a résumé, not enough to compile anything useful.
Solo Artist, Permanently
soloPct = 100%. Every single commit, across every repo, is just you talking to yourself. At least leave a comment in the code so it feels like a conversation.
Heatmap Archaeologist
Weeks 28–40 of your heatmap are a straight-up flatline. GitHub sent your account a wellness check.
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% weight63C
- Consistency20% weight55D
- Quality20% weight77B
- Depth15% weight65C
- Breadth10% weight55D
- Community10% weight40D
03 · Stats
365-day commit heatmap
121 active days
Language distribution
- TypeScript45%
- JavaScript36%
- HTML7%
- CSS5%
- C++2%
- Astro2%
- Other3%
04 · Numbers
Owned repos
non-fork
34
Commits
last 12 months
20
Followers
88
Joined GitHub
Jul 2016
05 · Top repos
satelllte /
displacementx
Polished TypeScript procedural map generator with full CI/CD, comprehensive tests, strong type safety, and live production deployment. Well-structured React/Astro webapp serving a niche creative tool.
satelllte /
react-knob-headless
Specialized unstyled React knob component for audio apps with ARIA accessibility, smooth touch/mouse drag via @use-gesture, non-linear interpolation support, keyboard controls, TypeScript types, comprehensive tests, and documented examples.
satelllte /
JSPlacementWeb
Web port of JSPlacement sci-fi map generator with 94 stars, documented architecture (ARCHITECTURE.md, design.md, STATUS.md), ~25KB codebase with procedural generation logic and 18 commits in last 30 days. Untyped HTML/JS but functional and purposefully maintained.
06 · Timeline
- Jul 21, 2016Joined GitHub
- Aug 19, 2023Created JSPlacementWeb — Online web version of JSplacement - procedural displacement sci-fi maps generator.
- Sep 24, 2023Created react-knob-headless — 🎛️ Unstyled & accessible knob primitive for React.
- Oct 31, 2023Created displacementx — Procedural displacement sci-fi maps generator. Web-based alternative to JSplacement.
- Jul 28, 2026Most recent push to displacementx
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.