01 · Roasts
92% Graveyard Rate
12 of 14 repos haven't seen a commit in over 2 years. Your GitHub profile is less a portfolio and more a digital cemetery — with peterrother.github.io as the lone survivor tending the graves.
15 Commits in a Year
Fifteen commits in 12 months. That's roughly one commit per three weeks — and several of those were probably just blog post typo fixes. The heatmap looks like a star field: mostly empty void.
ColdFusion Spotted
7% of your codebase is ColdFusion. Somewhere in your past you wrote CFML and it is haunting your language stats to this day like a ghost that doesn't know the year it died.
Zero Tests, Zero CI, Infinite Confidence
Not a single test or CI pipeline across all three analyzed repos. You're deploying on pure faith — at least dump1090email is just a bash script, so the blast radius is limited to your flight radar rig.
Lone Star
1 total star across 14 repos and 16 years on GitHub. That 1 star is doing a lot of heavy lifting. You should send it a thank-you note.
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% weight20F
- Quality20% weight52D
- Depth15% weight70B
- Breadth10% weight65C
- Community10% weight25F
03 · Stats
365-day commit heatmap
9 active days
Language distribution
- HTML26%
- SCSS25%
- Python20%
- Shell17%
- ColdFusion7%
- CSS3%
- Other2%
04 · Numbers
Owned repos
non-fork
13
Commits
last 12 months
15
Followers
21
Joined GitHub
Apr 2009
05 · Top repos
peterrother /
peterrother.github.io
Personal Jekyll blog built over 11 years with structured layouts, SCSS styling, and thoughtful content. Documented with README, design.md, architecture.md, and status.md. No tests or CI, but solid codebase organization and sustained development.
peterrother /
dump1090email
Single-file bash script for dump1090 aircraft email notifications; minimal scope, basic documentation, no tests or CI, 26 KB codebase with ~2 years of light maintenance.
peterrother /
shellscripts
Personal collection of utility shell scripts (photo timestamping, dotfiles cloning) with minimal documentation, no tests/CI, and sparse commit history (3 of last 30 days over 2+ years).
06 · Timeline
- Apr 4, 2009Joined GitHub
- May 24, 2013Created peterrother.github.io — My homepage and personal blog
- May 12, 2020Created dump1090email — A simple bash script that can be used to deliver email updates every time an aircraft is detected via dump1090
- Nov 28, 2020Created shellscripts
- Jun 7, 2025Most recent push to peterrother.github.io
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.