PRoast reviews every pull request like a senior dev who's seen too much bad code. Scores 0โ100. Posts directly to GitHub. Calls out lazy commit messages too.
3 FREE ROASTS ยท NO CREDIT CARD
This PR is held together with duct tape and prayers. Plaintext passwords, zero null checks, and commit messages that say 'minor fix' โ congratulations, you've speedrun every bad practice.
Automatically. Every time. On every PR.
This PR is held together with duct tape and prayers. Plaintext passwords, zero null checks, and commit messages that say 'minor fix' โ congratulations, you've speedrun every bad practice.
Passwords stored as plaintext in the database
db.save({ password: req.body.password })โ FIX: Use bcrypt or argon2 to hash passwords before storing
No null check before accessing user.profile.avatar
const avatar = user.profile.avatar;โ FIX: Use optional chaining: user?.profile?.avatar
N+1 query inside a loop fetching user per comment
โ FIX: Batch fetch users outside the loop
Commit message 'minor fix' explains absolutely nothing
โ FIX: Write: 'fix: handle null user profile in avatar display'
Variable names are actually descriptive. Rarer than you'd think.
Roasted by PRoast โ AI code review that doesn't sugarcoat it
Sign in with GitHub. Connect any repository in 30 seconds.
Every new PR triggers PRoast automatically. Zero config.
PRoast posts a detailed brutal review as a GitHub comment. In seconds.
Logic errors, edge cases, off-by-ones
SQL injection, XSS, exposed secrets
N+1 queries, memory leaks, blocking loops
Wrong conditions, bad business logic
Readability, naming, dead code
Lazy commits, vague titles, missing descriptions
Your team deserves real feedback. Not "LGTM".
Get Started Free โ