DEV Community

Shaan Ali Khan
Shaan Ali Khan

Posted on

I built an AI that reviews every PR automatically (because nobody was reviewing mine)

I've been vibe coding for months.

Cursor writes the code. Claude fixes the bugs. I ship.

Fast. Really fast.

But nobody was reviewing my code.

Not me. Not a teammate. Nobody.

I'd read the diff quickly, it looked fine, I merged it.

Then a user found the bug I missed.

They didn't email me. They just left.


The real problem with vibe coding

AI helps you write code faster than ever.

It does not stop you from shipping broken code.

You prompt Claude. It writes 200 lines.
You read it once. Looks fine. You merge it.

But did you check what happens when
the user object is null?

Did you check what happens when the API times out?

You didn't. Nobody does.


The bugs that kill your SaaS

They're not exotic. They're embarrassing.

// null not handled
const user = getUser(id)
console.log(user.email) // crashes in prod

// missing await
const data = fetchUserData(id)
return data.profile // returns Promise not data

// hardcoded secret
const stripe = new Stripe("sk_live_4eC39...")
// committed to GitHub. game over.
Enter fullscreen mode Exit fullscreen mode

Basic stuff. The kind of thing a junior dev
catches in 30 seconds.

But you have no junior dev.


What I built

PushSafe connects to your GitHub repos and
automatically reviews every PR you open.

Posts inline comments on the diff.
Like a teammate who never sleeps.

Stack: Next.js · Supabase · GitHub Webhooks ·
OpenRouter · Vercel


What it catches

  • Null/undefined crashes
  • Missing await
  • SQL injection
  • Hardcoded secrets
  • Logic errors
  • Unhandled promises

What it ignores

  • Formatting
  • Semicolons
  • Indentation
  • All the noise

Your linter handles style.
PushSafe handles the stuff that wakes you up at 3am.


Try it

pushsafe — free, no credit card, 2 min setup.


Follow along on X kshaaneali

Top comments (0)