01 · Roasts
Security Tool, Unsecured
WalShield is a network security monitoring tool with 'admin/admin' hardcoded in Login.jsx line 84. The app designed to detect intrusions can't protect its own login screen.
89 Commits, 46 Active Weeks… Wait
totalCommitsYear is 89, but the heatmap is 46 consecutive weeks of pure zeros before any activity shows up. That's not a streak — that's a very late start.
Typo-Driven Development
'Scaning', 'port_scaner_detection.py', 'CLECK if device', 'Usagge:' — the README typo in passwords-generator has survived 17 commits in the last 30 days. Automated spellcheck is free.
2.5 Years of One Function
passwords-generator has been maintained since 2022 and is still 55 lines with a hardcoded character limit of 14. Longevity without growth is just stubbornness.
Solo to the Core
soloPct = 100%, totalPRsYear = 0, totalIssuesYear = 0. Three repos, zero collaboration, zero community interaction. GitHub as a private cloud backup is a valid use case, I guess.
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% weight55D
- Quality20% weight39F
- Depth15% weight50D
- Breadth10% weight65C
- Community10% weight40D
03 · Stats
365-day commit heatmap
18 active days
Language distribution
- C38%
- Python20%
- JavaScript16%
- HTML9%
- Shell6%
- CSS5%
- Other6%
04 · Numbers
Owned repos
non-fork
10
Commits
last 12 months
89
Followers
11
Joined GitHub
Jun 2021
05 · Top repos
WalidMakdoud /
WalShield
Network security monitoring toolkit combining Python agents (Scapy-based ARP/port/DoS/deauth detection), FastAPI backend, and React+Tailwind dashboard. Experimental but functional, with clear structure yet significant code quality issues including typos, unhandled errors, and hardcoded credentials.
WalidMakdoud /
Projects_With_C
Collection of game and stock management projects in C with a combined menu program (WalTendo.c). French README documents four games and an inventory system. Functional but minimal documentation, no tests/CI, thin architectural structure, and no license.
WalidMakdoud /
passwords-generator
Minimal personal password generator tool written in untyped Python. Single-file codebase with basic functionality, informal README, no tests/CI/license, but shows sustained maintenance across ~2.5 years (17 commits in last 30 days).
06 · Timeline
- Jun 5, 2021Joined GitHub
- Mar 8, 2022Created passwords-generator
- May 9, 2024Created Projects_With_C
- May 27, 2026Created WalShield
- Jun 27, 2026Most recent push to WalShield
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.