01 · Roasts
The Heatmap Cliff
Week 25 of your heatmap looks like someone pulled the power cord. You went from daily commits in spring to a full blank canvas for 6+ months. Seasonal developer or seasonal hibernator?
Python Giant, Web Tourist
75% Python in your language breakdown, yet every scored repo is a React/Next.js web app. Where's all that Python going? Into private repos nobody can see, or into scripts that never got pushed?
199 Repos, 2 Stars
You have 199 public repos and a grand total of 2 stars across all of them. That's a 0.01 star-per-repo ratio. Even your mom hasn't starred your work.
27 PRs, 0 Issues
You opened 27 pull requests this year but exactly zero issues. You're shipping code into other people's projects but apparently nothing is ever broken, confusing, or worth discussing. Suspicious.
No CI, No Tests, No Problem (Apparently)
windpalette has AI integration, OAuth, Redis, and Prisma — but not a single test or CI pipeline. You built a spaceship and skipped the pre-flight checklist.
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% weight43D
- Consistency20% weight60C
- Quality20% weight57D
- Depth15% weight55D
- Breadth10% weight65C
- Community10% weight40D
03 · Stats
365-day commit heatmap
89 active days
Language distribution
- Python75%
- JavaScript13%
- Less7%
- TypeScript3%
- CSS1%
- C1%
04 · Numbers
Owned repos
non-fork
40
Commits
last 12 months
89
Followers
7
Joined GitHub
Aug 2012
05 · Top repos
dmostoller /
windpalette
TypeScript Next.js theme generator with color picker, AI-powered palette generation, Tailwind/shadcn export, user auth, and community gallery. Typed, documented, structured codebase with 3.3MB size; lacks tests and CI but ships working feature set.
dmostoller /
phase-2-project
React portfolio/showcase app for artist YasiArt featuring paintings gallery with comments, contact form, routing. Basic CRA structure with tests present but no CI; lacks TypeScript, design docs, and comprehensive README.
dmostoller /
davidmostoller
Personal portfolio website showcasing multiple projects (AI Resume Analyzer, PhilaReact, etc.) using React, Vite, and Semantic UI. No README, tests, CI, or documentation; lightweight but functional personal project with ~66KB codebase updated recently.
06 · Timeline
- Aug 29, 2012Joined GitHub
- Jan 22, 2024Created phase-2-project — Phase 2 Project - YasiArt
- Jul 31, 2024Created davidmostoller — new personal portfolio design
- Jan 4, 2025Created windpalette
- Jun 10, 2026Most recent push to phase-2-project
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.