Closed beta · by invite

The reviewer who actually reads the code.

Opinionated AI code review for Forgejo, GitHub, and (soon) GitLab. Smoke when you're fast, Deep when it matters — and when you're done arguing, hand it the whole issue.

Free while in beta · No card required · Codaban reaches out when there's a spot.

Codaban
auth/session.ts Changes requested
18export function refresh(token) {
19 const user = decode(token)
19 const user = await verify(token)
20 return mint(user.id)
21}
CodabanDeep
decode() never checks the signature — so refresh() trusts any token that parses, and mint() issues a real session from it. That's your entire auth boundary, unsigned. The async cleanup is good; now do the same thing at middleware.ts:44, it still calls the old path.
Reviews on GitHub Install app Forgejo GitLab Soon
Three modes, one reviewer

Pick the depth. The opinions come included.

Every review picks a lane. A quick gut-check on a typo fix shouldn't cost the same as a security audit — so it doesn't.

Smoke

Smoke

Quick pass · ~11s

A fast read of the diff for the obvious stuff — the sniff test before you merge. Cheap enough to run on every push.

  • Style, naming, dead code, obvious bugs
  • Runs in seconds, costs almost nothing
  • Set it as the default on every push
Deep

Deep

Thorough · ~78s

Doesn't just read the diff — it reads the code around it. Traces what your change touches, what it can break, and what was already broken before you got there.

  • Follows call sites and data flow across files
  • Finds what breaks, not just what changed
  • Security, correctness, edge cases
Agent

Agent

Plans & fixes · opens a PR

Hand it the whole issue. It plans the fix, writes the code, and opens a PR — then reviews that PR the way it would review yours. No grading its own homework.

  • Plans first, then implements end-to-end
  • Opens a real PR you can review
  • Reviews its own output — honestly — and iterates

“Smoke is me glancing over your shoulder. Deep is me pulling the thread until something unravels. Agent is me rolling up my sleeves because you clearly weren't going to.”

How it works

Open a PR. Codaban shows up.

No new tab, no copy-paste. Connect a repo once; reviews land as comments right where you already work.

01

Connect a repo

Install the GitHub App or link Forgejo in a click. Pick which repos Codaban watches.

02

Push or open a PR

Smoke runs on every push. Call in Deep when the change deserves it.

03

Read the review

Line-level comments with reasoning, not vibes. It tells you why.

04

Ask for a fix

Hand the issue to Agent. It plans the change, opens a PR, and reviews its own work.

Not a linter

It reviews like a person. Never a silent checkmark.

Codaban approves or requests changes — and tells you why either way. Every finding gets a write-up, a severity, and a suggested fix.

It takes a position. Approved or changes requested — a verdict, not a score you have to interpret.
Every review gets a write-up. What it looked at, what it found, and what you should do about it.
Findings come with fixes. Not just “this is wrong” — the suggested change, inline, ready to apply.
No silent pass. Even when everything passes, it writes up why — never a silent green tick in your checks list.

“If I'm going to block your merge, you deserve to know exactly why — and whether I actually care or I'm just being thorough.”

Major Blocks the mergeCorrectness, security, data loss. decode() never verifies the signature — every session minted from it is forgeable.
Minor Worth fixing, won't blockReal but contained. retryWebhook() has no backoff cap — a dead endpoint ties up the worker for hours.
Nitpick Take it or leave itNoted once, labelled honestly. fmtUser reads better as formatUser — your call, not a hill to die on.
Verdict Changes requested · 1 major, 2 minor, 1 nitpickThe summary lands on every PR — even when everything passes and the verdict is just “approved, nothing to flag.”
The dashboard

One number that matters: reviews left this month.

Usage is counted in reviews, not tokens. Your team sees what ran and what it found — nobody has to think about cost before asking for a second look.

app.codaban.dev/overview

Overview

“A third of the month's reviews, gone. Pace yourself — or don't, upgrades exist.”
Pro plan
$49 / month · renews Aug 1
Resets in 6 days
Aug 1, 2026
142/ 300 reviews
Smoke · 96 Deep · 34 Agent fixes · 12 1 review = 1 unit · all engines pooled
Reviews used
142
this billing cycle
Remaining
158
of 300 included
Avg / day
6.8
last 21 days
Repos active
4
reviewing this month
Reviews over timecount · per day
Reviews / daypeak 11 · Jul 18
Recent activitywhat ran · no cost shown
RepoPRModeOutcomeWhen
acme/web#482DeepChanges requested2h ago
acme/api#217SmokeApproved5h ago
acme/web#479AgentApproved1d ago
acme/mobile#58SmokeApproved1d ago
acme/infra#133DeepCommented2d ago
Members never see USD, tokens, model names, or per-repo cost. Usage is expressed only as reviews against the plan.

“One number that matters: reviews left this month. No token math, no surprise invoice — and no cost anxiety for your team.”

app.codaban.dev/reviews

Reviews

“Sorted by how much they annoyed me. More or less.”
Recent pull requests97 this period
PRModeOutcomeAuthorFindingsReviews usedLast review
#412
Rotate refresh tokens on reuse
acme/api-gateway
DeepChanges requestedm.okonkwo1 major · 3 minor207-24 14:02
#411
Bump pino to 9.x
acme/api-gateway
SmokeApproveddependabotnone107-24 11:38
#87
Fix N+1 in workspace member loader
acme/billing-svc
AgentApprovedcodaban[bot]none307-24 09:15
#209
Add webhook retry with backoff
acme/web
DeepCommenteds.varga2 minor107-23 17:44
#408
Extract rate limiter into middleware
acme/api-gateway
SmokeChanges requestedj.reyes1 nitpick107-23 15:20
#63
Migrate invoices to decimal amounts
acme/billing-svc
DeepApprovedl.fischernone207-23 10:07
Showing 6 of 97 Next ›

“Every PR I touched, what mode ran, what I decided, and how many reviews it used. Click one to see my reasoning.”

app.codaban.dev/reviews/412
‹ Back to reviews
GitHub / acme/api-gateway

#412 Rotate refresh tokens on reuse

by m.okonkwo Deep 2 iterations Changes requested
“Hold on — I found something you'll want to fix.”
Review timeline Deep description (junior) → agentic review (senior, with repo tools)
1
Changes requested 07-24 14:02 a9f4c11 1 major3 minor1 review used78.4s
2 passes · 1 review unit
descriptionjuniorsummarised the diffOK
reviewseniorread 3 files across the repoOK
read_file(auth/session.ts)→ 214 lines
grep("refresh\\(" · src/)→ 7 hits
read_file(middleware.ts)→ 88 lines
Verdict: changes requested — 1 major, 3 minor. Blocking: decode() never verifies the signature — refresh() trusts any well-formed token, mint() issues a real session from it. The fix is incomplete: middleware.ts:44 still calls the old path.
2
Approved 07-24 16:31 c02e7b8 0 findings1 review used61.2s

“Every prompt I sent, every file I opened. No black box — if I got it wrong, you'll see exactly where.”

Agent mode

The only reviewer that does the work — then reviews it honestly.

Most tools stop at “here's what's wrong.” Codaban takes the issue from there: plans the change, implements it across files, opens a real PR. Then it reviews that PR with the same eye it uses on yours — and iterates until the review passes.

“I don't trust my own first draft. So I review it like someone else wrote it.”

1
Reads the issue and the codebase

Understands what you're asking and how the code fits together.

2
Plans the change

Decides what to touch and why before writing a line.

3
Implements & opens a PR

Writes the code across files and pushes a reviewable PR.

4
Reviews its own PR — honestly

Runs a full review on its own output and iterates until it passes.

Honest pricing

One account. Every repo. No per-seat tax.

You pay for the reviews Codaban runs — not for the number of people who can log in.

Unlimited repositoriesConnect as many repos as you want. No caps.
Unlimited users, one priceAdd the whole team. The price doesn't change.
No forced per-org billingUse it personally or as an org. Org billing is there when you want it, not before.
No rate limits on reviewsPush all day. Every PR gets reviewed — no throttling, no queue.
Draft pricing · not final

Steady

$19/ month
75 reviews / mo

A steady stream of PRs. Same reviewer, same modes, unlimited seats and repos.

Busy

$49/ month
250 reviews / mo

A team shipping every day. Nothing extra to unlock — just more reviews.

Relentless

$99/ month
600 reviews / mo

Many repos and heavy use of Deep and Agent. One bill, one pool.

Every plan is the same product: all three modes, unlimited people, unlimited repos, no throttling. Pick the one that matches how much you ship — switch whenever that changes.

Free during beta

Free while in beta

None of this is final — it's our current thinking. A flat monthly fee with a pooled review allowance, so nobody on your team weighs a Deep review against the budget. Numbers will move before launch. Beta teams get founder pricing regardless. Tell us if the model is wrong.

1 review = 1 unit Smoke, Deep, and Agent all pooled Monthly fee, no metering
Closed beta · by invite

Make your case for an invite.

We're letting teams in a few at a time. Drop your email and Codaban reaches out when there's a spot — and takes it from there.

“I'm picky about code. I'm pickier about who I review it for. Make your case.”

Request an invite to the closed beta.
What would Codaban be reading?
Roughly how many PRs a day? across your team
No spam. We'll reach out when there's a spot. By requesting access you agree to the Terms of Use and Privacy Policy.
Request received. “I'll take a look. No promises.”
The irony. “I've lost the database — your request didn't land. I've already told the humans. Give it a minute and try again.”