01 · Roasts
3161 Commits, 0 READMEs Worth Reading
You pushed 3161 commits this year but still shipped usual-server with a README that literally says 'Repo for usual server'. That's 3160 commits of effort and 1 sentence of documentation.
Secrets in the Code, Stars on Zero
trfer-server ships Plaid + Firebase + PostgreSQL integration and hardcoded secrets into a public repo. That's not a fintech backend, that's a liability disclosure.
The 88% Graveyard
staleRepoRatio of 0.88 means 88% of your public repos haven't been touched in 2+ years. You're not maintaining a portfolio — you're maintaining a museum.
376 PRs, 1 Issue
You opened 376 pull requests this year but filed exactly 1 issue. Either everything you touch is perfect, or you're merging first and asking questions never.
Polyglot in the Streets, Tests in the Sheets
JavaScript, Go, Dart, TypeScript, Swift — five languages and zero test suites across every scored repo. The breadth is impressive; the QA is nonexistent.
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% weight36F
- Consistency20% weight80A
- Quality20% weight42D
- Depth15% weight55D
- Breadth10% weight80A
- Community10% weight65C
03 · Stats
365-day commit heatmap
332 active days
Language distribution
- JavaScript23%
- Go22%
- Dart13%
- TypeScript11%
- Swift8%
- SCSS7%
- Other16%
04 · Numbers
Owned repos
non-fork
16
Commits
last 12 months
3,161
Followers
56
Joined GitHub
Jun 2019
05 · Top repos
johnyeocx /
usual-server
Go backend for subscription/SaaS platform with Stripe & Firebase integration. Typed, structured multi-file layout with meaningful docs, but thin README, no tests/CI, and single-star adoption indicate early-stage personal project.
johnyeocx /
trfer-server
Backend server for "trfer" money-transfer app built in Go with Gin, PostgreSQL, Plaid integration, and Firebase auth. Typed language with structured API routes, but lacks README, tests, CI, and has hardcoded secrets and incomplete error handling.
johnyeocx /
usual-website
A Next.js subscription management frontend with basic TypeScript typing omitted and no tests, demonstrating a functional multi-step checkout flow for the "Usual" subscription service with reasonable component structure but minimal documentation.
06 · Timeline
- Jun 4, 2019Joined GitHub
- Dec 7, 2022Created usual-website — Usual Website
- Jan 11, 2023Created usual-server — Repo for usual server.
- Apr 30, 2023Created trfer-server — Server for trfer
- Oct 29, 2023Most recent push to usual-website
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.