01 · Roasts
Zero Tests, Three Repos, No Regrets
HAS_TESTS=no across every single repo. boujaddi.com, hackathonatlas.com, imbjdd.github.io — a clean sweep of untested code. 'building' is right there in your bio, but apparently not building confidence in your own code.
The Portfolio Ouroboros
You built imbjdd.github.io as your portfolio, then abandoned it for boujaddi.com, which is also a portfolio. At this rate, boujaddi.com will be replaced by salim.dev by Q3 2026. The portfolio of portfolios continues.
85 Repos, 3 Analyzed
You have 85 public repos but only 3 surfaced with enough signal to score. A staleRepoRatio of 0.34 means roughly 29 repos are just sitting there, slowly decaying. That's not a portfolio, that's a graveyard with a nice homepage.
JS/TS Monoculture
51% JavaScript + 45% TypeScript = 96% of your codebase is the same language wearing a slightly fancier hat. Python shows up at 0%. PLpgSQL at 0%. The domainGuess is 'systems' but your GitHub screams 'Next.js and vibes'.
17 Stars is the Ceiling
hackathonatlas.com is your breakout hit at 17 stars. The rest of the portfolio tops out at 5. With 93 followers watching, the pressure to ship something that lands is very real — and very unmet.
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% weight46D
- Consistency20% weight55D
- Quality20% weight58D
- Depth15% weight50D
- Breadth10% weight55D
- Community10% weight40D
03 · Stats
365-day commit heatmap
231 active days
Language distribution
- JavaScript51%
- TypeScript45%
- CSS2%
- HTML2%
- Python0%
- PLpgSQL0%
04 · Numbers
Owned repos
non-fork
59
Commits
last 12 months
588
Followers
93
Joined GitHub
Oct 2019
05 · Top repos
imbjdd /
hackathonatlas.com
TypeScript Next.js hackathon discovery platform with PostgreSQL backend, CI pipeline, and structured multi-file layout. Typed, documented, and actively maintained with real functionality but modest adoption (17 stars).
imbjdd /
boujaddi.com
Personal portfolio website built on Turborepo monorepo with Next.js, TypeScript, Tailwind CSS, Sanity CMS integration, Spotify API, and Letterboxd scraping. Typed, documented, structured across apps/ and packages/, but minimal stars and experimental in scope.
imbjdd /
imbjdd.github.io
Personal portfolio site built with Zola static generator, Tailwind CSS, and TypeScript tooling. Typed config, structured src layout, CI/CD pipeline, and MIT license present. Minimal README and no test coverage.
06 · Timeline
- Oct 17, 2019Joined GitHub
- May 20, 2025Created hackathonatlas.com — A comprehensive directory of hackathons from around the world
- Sep 17, 2025Created imbjdd.github.io
- Feb 8, 2026Created boujaddi.com
- Mar 29, 2026Most recent push to boujaddi.com
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.