01 · Roasts
Star Vacuum
10 public repos, 0 total stars, 1 follower — GitHub has seen tumbleweeds with a better social graph. Node-MUD has a whole combat engine and nobody knows it exists.
Test-Free Zone
HAS_TESTS=no across every single repo. You built a full modifier system with 4 archetypes and hash serialization in Node-MUD and didn't write one test. Brave. Reckless. Brave.
Bursty Burnout
Your heatmap looks like a seismograph near a dormant volcano — violent activity in weeks 17–35 then silence. 322 commits/year sounds decent until you see the 15-week dead zones.
License? Never Heard of Her
Not a single license file across 3 analyzed repos. Congratulations, your code is technically 'all rights reserved' by default. Node-MUD's 1 fork is in legal grey territory.
GDScript Ghost
13% of your codebase is GDScript and 9% is C# — clearly there's a Godot project hiding somewhere — yet none of it made it into your public portfolio. The game dev alter ego remains classified.
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% weight55D
- Depth15% weight52D
- Breadth10% weight65C
- Community10% weight25F
03 · Stats
365-day commit heatmap
118 active days
Language distribution
- Svelte43%
- TypeScript26%
- GDScript13%
- C#9%
- JavaScript5%
- CSS3%
- Other1%
04 · Numbers
Owned repos
non-fork
9
Commits
last 12 months
322
Followers
1
Joined GitHub
Aug 2024
05 · Top repos
josephheinz /
Node-MUD
SvelteKit-based browser MUD game featuring item systems, combat simulation, and real-time WebSocket chat. Well-typed TypeScript with modular architecture (items, modifiers, stats) and structured docs, but lacks tests/CI and remains a personal project with 0 stars.
josephheinz /
portfolio
Personal portfolio site built with SvelteKit and Tailwind CSS. Clean component-based structure with styled UI showcasing projects and tech stack. No tests, CI, or npm package output; purely a portfolio artifact.
josephheinz /
josephheinz
GitHub profile config repo with minimal content. 18 KB, no source files sampled, bare README greeting, no tests or license. Appears to be a profile customization scaffold rather than a substantive project.
06 · Timeline
- Aug 7, 2024Joined GitHub
- Dec 9, 2024Created josephheinz — Config files for my GitHub profile.
- May 21, 2025Created portfolio
- Sep 7, 2025Created Node-MUD
- May 4, 2026Most recent push to josephheinz
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.