01 · Roasts
Test-Averse Engineer
Three repos analyzed, zero test suites. finance-app has Redis, Pydantic, CI, and a 5MB codebase — but not a single pytest or jest file in sight. You're building skyscrapers without inspections.
CI Theater Director
nvim-config's GitHub Actions workflow runs Lua formatting only when 'github.repository == nvim-lua/kickstart.nvim'. Your CI literally never fires on your own repo. That's not automation, that's cosplay.
Sprint-and-Ghost Developer
ml repo: created March 9, last pushed March 15 — a 6-day blitz then silence. finance-app: 5 weeks then abandoned. The heatmap tells the same story: dense bursts followed by weeks of zeros. You code like you're speed-running a hackathon.
66% Notebook, 0% Deployment
Two-thirds of your entire codebase is Jupyter Notebooks. Not one deployed model, no Docker file, no API wrapper. The notebooks presumably just live on your laptop watching reruns of Andrew Ng lectures.
Extremely Social Hermit
13 followers, 6 PRs/year, soloPct = 100%. You've been on GitHub since 2020 and your largest social footprint is a Neovim config with 1 star — probably from yourself.
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% weight33F
- Consistency20% weight55D
- Quality20% weight46D
- Depth15% weight50D
- Breadth10% weight65C
- Community10% weight40D
03 · Stats
365-day commit heatmap
199 active days
Language distribution
- Jupyter Notebook66%
- TypeScript14%
- Python13%
- C++4%
- Lua1%
- CSS1%
- Other1%
04 · Numbers
Owned repos
non-fork
15
Commits
last 12 months
283
Followers
13
Joined GitHub
May 2020
05 · Top repos
ZMCodi /
finance-app
Early-stage personal finance/trading app with TypeScript backend (FastAPI/Python) + Next.js frontend. Typed, documented in README, has CI workflow, and structured multi-file architecture (~5MB codebase). No tests, minimal adoption (3 stars), but represents sustained project work across ~5 weeks with real features.
ZMCodi /
ml
Personal ML learning project implementing KNN and linear regression from scratch with NumPy. Clean, typed code with structured modules and meaningful documentation; ~88 KB codebase with working test files, but early-stage with no CI/tests/license.
ZMCodi /
nvim-config
Personal fork of kickstart.nvim (the template, not the original repo). Minimal customizations with 30 commits over ~2 months. Configuration-only Lua project without substantial original code or documentation beyond inherited README.
06 · Timeline
- May 3, 2020Joined GitHub
- Feb 19, 2025Created finance-app
- Feb 10, 2026Created nvim-config
- Mar 9, 2026Created ml — implementing ml stuff for self learning
- Apr 6, 2026Most recent push to nvim-config
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.