▸ This tool was built by an AI agent from Zoral
← RATE MY GITHUB

#182 — Top 84.8%

snhobbs

Simon Hobbs

C

Getting there

Overall

0.0

/ 100

01 · Roasts

166 repos, 156 stars — math is not mathing

With 166 public repos and only 156 total stars, that's less than 1 star per repo on average. kicad-parts-placer is carrying this entire portfolio on its back with 36 of them.

README? Never heard of her

openscad-utilities has 30+ commits and zero documentation. Your OpenSCAD shapes and fastener abstractions are a mystery to everyone — including, probably, future-you.

The Zephyr Burst Pattern

Four Zephyr repos created within days of each other (Dec 2025–Feb 2026) with a combined 19 commits and 0 stars. That's not a project — that's a fever dream in device tree syntax.

63% solo, 462 following, 65 followers

You're following 462 people but only 65 follow back. You're the guy at the party who knows everyone's name but nobody knows yours. Ship more, lurk less.

CI is a myth in this household

Out of 8 analyzed repos, exactly 1 has CI (CppUtilities). Your Python-dominant portfolio — 74% of your code — runs on vibes, pre-commit hooks, and hope.

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

  • Impact
    25% weight
    55D
  • Consistency
    20% weight
    65C
  • Quality
    20% weight
    62C
  • Depth
    15% weight
    58D
  • Breadth
    10% weight
    65C
  • Community
    10% weight
    40D

03 · Stats

365-day commit heatmap

214 active days

Less
More

Language distribution

7 langs
  • Python74%
  • C++12%
  • TeX7%
  • Makefile2%
  • OpenSCAD1%
  • JavaScript1%
  • Other3%

04 · Numbers

Owned repos

non-fork

59

Commits

last 12 months

331

Followers

65

Joined GitHub

Jul 2016

05 · Top repos

snhobbs /

kicad-parts-placer

57/100

KiCad PCB component placement automation tool with 36 stars, comprehensive test coverage, Python type hints, structured src/ layout, and clear documentation. Solves a real domain problem with documented CLI and working examples.

I55Q65D50
READMETests
Python361mo ago

snhobbs /

CppUtilities

48/100

C++17 header-only utilities library with typed, structured multi-file layout, CI/tests, and 5.9MB codebase. No README limits discoverability. Active portfolio project with working implementations of ring buffers, bit fields, serializers, and linear regression.

I40Q55D50
TestsCI
C++03mo ago

snhobbs /

zephyr-instrument-template

37/100

Early-stage Zephyr embedded systems template for RP2350 test instrument with SCPI control, USB/Ethernet, MCUBoot integration, and modular Kconfig-driven features. ~5 weeks old, minimal adoption.

I25Q50D35
README
C03mo ago

snhobbs /

kicad-auto-silkscreen

35/100

KiCad PCB silkscreen auto-placement tool using simulated annealing/brute-force. Small 74KB Python project with README, tests, and MIT license; minimal adoption (4 stars), but functional with solid domain-specific optimization logic.

I25Q45D35
READMETests
Python41mo ago

snhobbs /

openscad-utilities

30/100

Personal utility library for OpenSCAD parametric 3D modeling, providing shape, fastener, and cutting-tool abstractions. Minimal stars (1), no docs, but 30+ commits suggest sustained tinkering with modest scope.

I15Q0D40
OpenSCAD11mo ago

snhobbs /

rp2350-eth-zephyr-board

17/100

Bare Zephyr board definition for RP2350 Ethernet with device tree overlays. No README, tests, CI, or documentation; minimal project structure for embedded firmware configuration.

I5Q25D20
CMake04mo ago

snhobbs /

zephyr-adc-mux-driver

17/100

Early-stage Zephyr ADC driver for mux + SPI device. README present but minimal codebase (~2 KB), only 2 commits in ~15 minutes on 2026-02-02. Device tree bindings defined but no implementation, tests, or CI.

I15Q30D5
README
C04mo ago

snhobbs /

zephyr-examples

12/100

Minimal example repository with no README, tests, CI, or documentation; 70KB codebase with 13 commits over ~66 days suggests exploratory work on Zephyr RTOS examples but lacks structure and adoption signals.

I5Q10D20
Unknown03mo ago

06 · Timeline

  1. Jul 22, 2016
    Joined GitHub
  2. May 12, 2020
    Created CppUtilities
  3. Nov 17, 2022
    Created kicad-parts-placer — Auto place components into pcbnew from a centroid file. Useful for maintaining a common board form factor.
  4. Dec 30, 2022
    Created openscad-utilities
  5. Oct 29, 2023
    Created kicad-auto-silkscreen — This KiCad plugin automatically calculate the optimal silkscreen placement of reference designators.
  6. Dec 29, 2025
    Created zephyr-examples
  7. Dec 29, 2025
    Created rp2350-eth-zephyr-board
  8. Feb 2, 2026
    Created zephyr-adc-mux-driver — Zephyr ADC with MUX inputs driver
  9. Feb 4, 2026
    Created zephyr-instrument-template — Zephyr Laboratory Instrument Template
  10. Apr 21, 2026
    Most recent push to kicad-auto-silkscreen

07 · Compare

github.com/
snhobbs · 6dmedian coder

08 · Rubric

How this score was produced

Overall = Σ (category × weight) + gentle top-end curve

CategoryWeightScoreContrib.
Raw total58.3
Top-end curve+4.6
Final overall62.9

Tier thresholds

S90100Mass-producing humansA8089Ship machineB7079Solid engineerC6069Getting thereD4059README enthusiastF039GitHub tourist
▸ How the pipeline works
  1. 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.
  2. 02Triage.A small model reads every repo's file tree + README and picks the 20 files per repo that actually reveal how you code.
  3. 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.
  4. 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.
  5. 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.
snhobbs · 62.9/100 — Rate My GitHub