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

#279 — Top 76.7%

amahjoor

arman

D

README enthusiast

Overall

0.0

/ 100

01 · Roasts

Sprint Merchant

Your commit heatmap is basically a flatline with jazz hands at the end — 16 dead weeks mid-year, then panic-bursts of 4s in the final stretch. Consistency isn't vibes, it's showing up on Tuesdays too.

ActusPrime Speedrun

You shipped ActusPrime — an entire multi-LLM agent dispatch system — in ONE day with zero README, zero license, and zero stars. That's not a project, that's a fever dream with a package.json.

99 Stars, All Locked Up

99 total stars across 44 repos and your best performer has 5. You're basically a star hoarder who forgot to distribute. ezspeak alone is carrying this portfolio like an overworked intern.

proposal-gen: The Mystery Box

892 KB of repo with 2 commits and no sampled source files. Either you're hiding a masterpiece or this is literally a folder with a README and vibes. The evidence points to vibes.

4 PRs to Rule Them All

4 external PRs and 8 issues in a full year — on a 44-repo account. You're building in a bunker. The internet doesn't know you exist yet, and your follow ratio of 31:30 suggests your friends don't either.

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
    48D
  • Consistency
    20% weight
    60C
  • Quality
    20% weight
    62C
  • Depth
    15% weight
    55D
  • Breadth
    10% weight
    65C
  • Community
    10% weight
    40D

03 · Stats

365-day commit heatmap

157 active days

Less
More

Language distribution

6 langs
  • Python36%
  • TypeScript34%
  • JavaScript21%
  • HTML7%
  • CSS3%
  • Shell1%

04 · Numbers

Owned repos

non-fork

41

Commits

last 12 months

388

Followers

31

Joined GitHub

Nov 2020

05 · Top repos

amahjoor /

OpenIran

52/100

Real-time Iran conflict tracker aggregating aviation, internet, news, and strike data via TypeScript Next.js frontend with Supabase backend. Young project (2 weeks old, 30 commits) with typed code, tests, and structured multi-file architecture.

I25Q65D50
READMETestsTyped
TypeScript12mo ago

amahjoor /

ezspeak

52/100

Active Electron desktop app for voice-to-text using OpenAI Whisper API. Well-structured, typed-capable backend with rich features (hotkey manager, clipboard integration, offline mode). No tests or CI, but meaningful README and multi-month commit history (Feb 2025 push).

I40Q65D50
README
JavaScript53mo ago

amahjoor /

arman-web

40/100

Personal website with blog platform; 88 KB, 21 commits across ~5 months. Untyped HTML/CSS/JS with functional markdown-to-HTML static blog generator and responsive design, but no tests or CI.

I25Q50D45
README
HTML02mo ago

amahjoor /

agent-school-old

27/100

Early-stage TypeScript/Next.js demo project for Agent School workflow automation. Created Jan 28-29, 2026 with 6 commits. Typed + documented + structured, but no tests, CI, or license. Single-week sprint, minimal public adoption.

I15Q45D20
READMETyped
TypeScript04mo ago

amahjoor /

ActusPrime

25/100

AI agent system dispatching tasks to historical figures via LLM personality compilation. Early-stage project (2 days old, 30 commits) with working Express API, OpenClaw integration, and test coverage for utility functions. Untyped JavaScript, no README, no CI/license.

I15Q40D20
Tests
JavaScript03mo ago

amahjoor /

proposal-gen

20/100

Early-stage proposal generator converting call transcripts to sales documents. Minimal viable output with basic README but no implementation visible, tests, CI, or type safety.

I15Q25D20
README
Unknown04mo ago

06 · Timeline

  1. Nov 24, 2020
    Joined GitHub
  2. Oct 30, 2025
    Created ezspeak — speak-to-text made ez
  3. Nov 3, 2025
    Created arman-web — my website (mahjoor.com)
  4. Jan 27, 2026
    Created proposal-gen
  5. Jan 28, 2026
    Created agent-school-old
  6. Feb 27, 2026
    Created ActusPrime — Expert agents taking action for YOU
  7. Mar 9, 2026
    Created OpenIran — A real time tracker for news, airstrikes, internet outages, and flight data related to the Iran conflict.
  8. Mar 22, 2026
    Most recent push to arman-web

07 · Compare

github.com/
amahjoor · 6dmedian coder

08 · Rubric

How this score was produced

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

CategoryWeightScoreContrib.
Raw total55.1
Top-end curve+3.9
Final overall59.0

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.
amahjoor · 59.0/100 — Rate My GitHub