No reviews yetBe the first to leave a review for BotBugger
Maker
📌
Hi Product Hunt 👋
I'm Daniel, a solo dev from Switzerland. Botbugger started as my own QA ritual: before shipping, I'd run my code past two different AI tools and only trust a bug when both agreed. The second opinion caught things the first missed — and, just as importantly, threw out the confident-but-wrong ones.
The problem with a single AI reviewer is noise. It'll hand you ten "critical" issues, and half are hallucinated. You end up debugging the reviewer instead of your code.
Botbugger's idea is simple: don't trust one AI — make two check each other.
Here's how it works:
Point it at a Git repo or a live website URL.
Claude Code and Codex analyze it independently — no shared context, no groupthink.
Cross-Check: each engine then reviews the other's findings against your actual code and marks them confirmed / rejected / uncertain.
You get findings with severity, file:line, a failure scenario, and a concrete fix — with the false positives already filtered out.
A few things I care about:
Read-only. The engines can read and grep — never execute, write, or fetch. Your code is analyzed, not touched.
No subscription. Prepaid credits that never expire. Debugging is bursty; paying monthly for it never made sense to me.
4 free credits on signup — enough to run a full cross-check and see if it earns your trust.
It's honest about being an assistant, not an oracle — AI findings can be wrong, so it shows you the reasoning and lets you decide. Cross-Check just means far fewer wrong ones reach you.
I'd genuinely love your feedback — especially edge cases where it surprises you (good or bad). Ask me anything 🐛
→ https://botbugger.bot
Report
one thing that would make this way more useful for me would be the ability to whitelist certain false positive patterns per project, since style debates between the two models will probably come up a lot in larger codebases.
Report
Maker
@cosgun_hak89117 Spot on, Hakan — the style debates are the real noise in bigger repos, and muting those per project is exactly what Botbugger should do. I'm going to build a per-project "known/accepted" list so flagged findings stop resurfacing. Shipping a first version in the next few days — I'll ping you here when it's live. Thanks for thinking it through! 🐛
Report
Maker
@cosgun_hak89117 t's live 🔕 Open a finding → "Mute this kind" → keyword. Matching findings are dismissed automatically, retroactively and on future runs; delete the pattern to bring them back.
Fun part: I ran the feature through Botbugger's own cross-check, and the second engine caught a real trap — plain substring matching meant muting const would also have silenced "SQL injection through unsafe query con-struction". So it's whole-word matching now, and critical/high are never auto-muted.
Let me know if it holds up on a big repo. Best feedback of the launch 🙏
Report
ran it on a gnarly legacy module and the two agents actually caught a race condition i had been chasing for days, with a fix that just worked. feels like a second pair of senior eyes without the meeting.
Report
Finally got two AI agents to argue with each other on my behalf and they actually found a race condition I had missed for weeks. The mutual verification step feels like having a second pair of eyes that refuses to sign off until the fix really makes sense.
one thing that would make this way more useful for me would be the ability to whitelist certain false positive patterns per project, since style debates between the two models will probably come up a lot in larger codebases.
@cosgun_hak89117 Spot on, Hakan — the style debates are the real noise in bigger repos, and muting those per project is exactly what Botbugger should do. I'm going to build a per-project "known/accepted" list so flagged findings stop resurfacing. Shipping a first version in the next few days — I'll ping you here when it's live. Thanks for thinking it through! 🐛
@cosgun_hak89117 t's live 🔕 Open a finding → "Mute this kind" → keyword. Matching findings are dismissed automatically, retroactively and on future runs; delete the pattern to bring them back.
Fun part: I ran the feature through Botbugger's own cross-check, and the second engine caught a real trap — plain substring matching meant muting const would also have silenced "SQL injection through unsafe query con-struction". So it's whole-word matching now, and critical/high are never auto-muted.
Let me know if it holds up on a big repo. Best feedback of the launch 🙏
ran it on a gnarly legacy module and the two agents actually caught a race condition i had been chasing for days, with a fix that just worked. feels like a second pair of senior eyes without the meeting.
Finally got two AI agents to argue with each other on my behalf and they actually found a race condition I had missed for weeks. The mutual verification step feels like having a second pair of eyes that refuses to sign off until the fix really makes sense.