01 · Roasts
Four apps, one test suite
loadscape, daraja-local, nexusql, and nafasi collectively ship serious features; collectively they ship zero demonstrated tests.
Documentation deficit
daraja-local and nafasi have no README, while loadscape still leads with create-next-app boilerplate instead of a product story.
Backend buffet
You built OAuth callbacks, SQLite migrations, M-Pesa flows, RabbitMQ jobs, and schema seeders—then left CI out of three of four repos.
Portfolio beats popularity
62 total stars and 180 followers say people notice; 1 total fork says almost nobody has needed to build on it yet.
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% weight48D
- Consistency20% weight65C
- Quality20% weight57D
- Depth15% weight55D
- Breadth10% weight65C
- Community10% weight50D
03 · Stats
365-day commit heatmap
142 active days
Language distribution
- TypeScript77%
- Go17%
- JavaScript2%
- PHP2%
- CSS1%
- Blade1%
04 · Numbers
Owned repos
non-fork
32
Commits
last 12 months
857
Followers
180
Joined GitHub
Feb 2022
05 · Top repos
knnedy /
nexusql
NexusQL is a substantial, typed local-first SQL studio with Go providers for Postgres/MySQL/SQLite, a React/React Flow ERD and explorer UI, transactional fake-data seeding, and schema export, but it has only 1 star and no tests.
knnedy /
nafasi
Nafasi is a substantial event-ticketing application with Go API and Next.js TypeScript UI, including JWT auth, organiser workflows, M-Pesa payments, RabbitMQ email jobs, event management, and QR check-in, but has minimal public adoption and no documented delivery safeguards.
knnedy /
loadscape
Typed Next.js prototype for visually composing load-testing topologies, with React Flow canvas, Zustand state, editable node capacity, and a 28-item infrastructure catalog; adoption and production evidence are absent.
knnedy /
daraja-local
Typed Go/TypeScript Daraja STK Push simulator with chi routing, SQLite migrations, OAuth, callback retries, and an animated virtual-phone UI, but no README, tests, CI, license, or demonstrated external adoption.
06 · Timeline
- Feb 18, 2022Joined GitHub
- Apr 10, 2026Created nafasi
- Jun 10, 2026Created nexusql — A local-first SQL data studio with a visual ERD canvas, spreadsheet-style data explorer, SQL console, and fake data seeding — supports Postgres, MySQL, and SQLite.
- Jul 31, 2026Created daraja-local
- Sep 2, 2026Created loadscape
- Sep 3, 2026Most recent push to loadscape
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.