AI CODE REVIEW

See deeper.
Ship safer.

Kensa reviews every pull request the moment it opens: correctness, security, performance, reliability, grounded in the rest of your repository, not just the diff.

Five reviews a month, free. No credit card.

Synced files

src/auth/session.ts
src/auth/tokens.ts
src/middleware/auth.ts
src/lib/db.ts
prisma/schema.prisma
200 files indexed

Query

Retrieval

0/3 hits

src/auth/session.tsL42-58
0.94
src/auth/tokens.tsL18-31
0.87
src/middleware/auth.tsL7-14
0.81
200 files · 80-line chunks · 23 file types
#100 fix(auth): reject expired refresh tokens#101 feat(api): add retry queue for webhook delivery#102 chore(ci): pin runner image version#103 fix(cache): invalidate stale project keys#104 feat(ui): compact navigation for mobile#105 fix(db): prevent deadlock on concurrent writes#106 perf(search): batch embedding queries#107 fix(webhook): honor rate-limit headers#108 feat(logs): add structured request filters#109 fix(session): rotate token on privilege change#110 fix(auth): reject expired refresh tokens#111 feat(api): add retry queue for webhook delivery#112 chore(ci): pin runner image version#113 fix(cache): invalidate stale project keys#114 feat(ui): compact navigation for mobile#115 fix(db): prevent deadlock on concurrent writes#116 perf(search): batch embedding queries#117 fix(webhook): honor rate-limit headers#118 feat(logs): add structured request filters#119 fix(session): rotate token on privilege change

Writing code got fast.
Reading it didn't.

A coding agent can open six pull requests before lunch. Review became the bottleneck, and the bottleneck is where bugs get through.

01 UNDERSTAND

It reads the repo, not just the diff.

  • Opt-in codebase sync

    Index your repository alongside the diff so reviews aren't blind to how the rest of the code works.

  • Retrieval keyed on intent

    The ten most relevant passages are pulled based on what the pull request says it's doing.

  • Context stays separate

    Repository context reaches the model clearly labeled, never mixed in as part of the change.

vector search · feat(auth): reject expired tokens

Query

src/auth/session.tsL42-58
0.94
src/auth/tokens.tsL18-31
0.87
src/middleware/auth.tsL7-14
0.81
session.ts
tokens.ts
auth.ts
db.ts
skip · node_modulesskip · distskip · .nextskip · vendor

10 passages retrieved · 1,842 chunks indexed · labeled as context only

02 REVIEW

A real review, on every push.

  • Six dimensions, every time

    Correctness, security, performance, reliability, readability, and maintainability.

  • Proportional, not pedantic

    Instructed not to nitpick style when there's a real bug, and to say so plainly when a diff is clean.

  • Sorted by what to do about it

    What looks good, suggestions you can skip, and issues you shouldn't.

kensa-bot · review posted
Kkensa-botbotcommented 2m ago
Potential issue|Major

Reject expired refresh tokens before issuing a session.

Check the token expiry before creating a new authenticated session.

@@ -42,2 +42,3 @@ export async function createSession
41 export async function createSession(payload) {
42return issueSession(payload.userId);
42+if (payload.expiresAt <= Date.now()) return null;
43+return issueSession(payload.userId);

Committable suggestion

Commit suggestion

Guard against expired refresh tokens before issuing the session:

if (payload.expiresAt <= Date.now()) return null;

03 TRACK

Every review, kept.

  • Live status on each PR

    Pending, processing, reviewed. Visible as the job runs.

  • Full review in the dashboard

    Read the complete comment in Kensa, not just on GitHub.

  • Usage counted clearly

    Know how many reviews you've used against your monthly limit.

kensa · pull requests
RepoPRStatusUpdated

acme/platform

#482

reviewed

2m ago

acme/webapp

#247

pending

now

acme/api

#91

pending

queued

acme/billing

#118

reviewed

14m ago

acme/docs

#56

pending

queued

acme/platform

1,842 chunks indexed

synced
3 of 5 reviews used this month3/5

04 SECURITY

Security findings, not another dashboard.

  • Injection risks

    Flags unvalidated input paths that can reach queries, shells, or templates.

  • Auth and session issues

    Catches weak expiry checks, missing privilege gates, and token mishandling.

  • Exposed secrets

    Surfaces hardcoded keys, tokens, and credentials that land in the diff.

kensa · security scan

Real-time codebase health

Scanning every PR · Last scan now

Mostly healthy

Scan coverage

60% scanned

Scanned 60%Unscanned 40%

How a review actually happens

From webhook to comment. No dashboard babysitting.

Each review runs as a durable background job. If a step fails, it retries without starting over from scratch.

01

Webhook received

GitHub sends a pull_request event on opened, synchronize, or reopened.

02

Diff fetched & chunked

Changed files are pulled and split into reviewable 80-line windows.

03

Context retrieved

If the repo is synced, the ten most relevant codebase passages are pulled via vector search.

04

Review generated

An AI model writes a structured markdown review across six dimensions.

05

Comment posted

The review lands as a single comment on the pull request conversation.

Today

What it doesn't do yet.

We'd rather be honest than oversell. Here's where Kensa stops today.

  • Conversation comment, not inline threads

    One structured comment on the PR tab today. Per-line inline comments are on the roadmap.

  • Suggests, doesn't commit

    Kensa flags issues and improvements. Autofix pull requests aren't here yet.

  • Codebase context is opt-in

    You press sync when you want repository-wide context. It's not automatic on install.

Next

On the roadmap

  • Inline review comments on specific lines
  • Agent-authored fix pull requests
  • Team board for the review queue
  • Dependency advisory scanning

Pricing

Start free. Scale when you're ready.

Hobby

Free

For individual developers trying Kensa on a side project.

  • Up to 5 AI reviews per month
  • Public and private repositories
  • Community support
Start free
Most popular

Pro

₹299/month

Unlimited reviews for developers shipping every day.

  • Unlimited AI reviews on connected repos
  • Public and private repository support
  • Priority support
Upgrade to Pro

Team

Custom

Running Kensa across an organisation, or need it inside your own infrastructure? Tell us what you need and we'll scope it.

  • Here's what we can scope together:
  • SSO and organization-wide access controls
  • Self-hosted or private-cloud deployment
  • Model choice and custom review guidelines
  • Dedicated support and onboarding
  • Volume pricing for larger teams
Contact us

Put it on one repository.

Install the app, open a pull request, and read what comes back.

Install the GitHub App

Hobby covers 5 reviews a month. No card required.