01 · Roasts
Notebook nation
81% of the language mix is Jupyter Notebook; the Transformer has real substance, but reproducibility is still asking readers to trust notebook state.
Infrastructure drought
All three sampled repos lack tests and CI. The models can recognize faces and translate Yoruba; the pipeline cannot recognize a regression.
Demo time capsule
Face-rec earned 10 stars and 10 forks, then appears to have finished its sprint in April 2020.
The real centerpiece
English_Yoruba_Transformer carries 20,073 sentence pairs and multiple data notebooks—now give that work an environment file and test suite.
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% weight30F
- Consistency20% weight50D
- Quality20% weight37F
- Depth15% weight50D
- Breadth10% weight65C
- Community10% weight50D
03 · Stats
365-day commit heatmap
246 active days
Language distribution
- Jupyter Notebook81%
- Python12%
- HTML3%
- JavaScript2%
- CSS2%
- TypeScript0%
04 · Numbers
Owned repos
non-fork
35
Commits
last 12 months
250
Followers
142
Joined GitHub
Aug 2016
05 · Top repos
steveoni /
English_Yoruba_Transformer
A documented, data-rich Jupyter Notebook project implementing English–Yoruba Transformer translation over 20,073 sentence pairs, with useful preprocessing notebooks but limited reproducibility and engineering safeguards.
steveoni /
Face-rec
A small, documented browser face-recognition demo using face-api.js for image and webcam matching, with several HTML entry points but limited project infrastructure and apparent one-shot development.
steveoni /
steveoni
A minimal profile/blog-link repository: README.md contains a greeting and two external blog links, with no sampled implementation, tests, CI, license, or typed source.
06 · Timeline
- Aug 8, 2016Joined GitHub
- Aug 10, 2019Created English_Yoruba_Transformer — create an english to yoruba translation model using transformer
- Apr 14, 2020Created Face-rec — Face recognition using javascript and face-api
- Aug 12, 2020Created steveoni
- Jun 16, 2026Most recent push to steveoni
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.