Code Review Helper Join the beta
Merge request review queue

Every MR gets reviewed in turn.

A blind, first-in-first-out review queue for your team. Reviewers take the next merge request without seeing it first, so nobody cherry-picks and nothing rots at the bottom. Contents are end-to-end encrypted: the server never sees a link, title or note.

macOS menu bar app today · Web, Windows and Linux in the works

The problem

Open review lists reward picking.

When everyone can see every MR, the small and easy ones get grabbed first. The rest wait.

Big MRs age

The awkward, risky change sits for days because there's always something quicker to review.

The same people review everything

A few reviewers carry the team while others mostly submit. Nobody notices until someone burns out.

"Can someone look at mine?"

Review requests turn into chat pings and favours, and whoever asks loudest gets reviewed first.

How it works

One queue. No choosing.

  1. Submit an MR

    Paste its link, add a title or a note if you like, and choose how many approvals it needs: up to five. It's encrypted on your device and joins the end of the queue.

  2. Everyone sees the count, not the list

    The menu bar shows how many MRs are waiting, with a dot that turns amber and red as the queue grows. Until you claim one, a count is all you get.

  3. Get Next Review

    One click claims the oldest MR that isn't yours. Only now does its content reach your device, where it's decrypted. The server enforces the order, so there's no way around it.

  4. Approve, reject or hand it back

    An approval sends the MR back into the queue, in its place, for someone who hasn't reviewed it yet, until it has all the approvals it needs. A rejection ends it. A claim left idle too long goes back to the queue by itself.

Try it

5/5
Team queue: what you see
Your review
Nothing claimed yet

A demo with made-up MRs. It runs in this page only.

Features

Built for how teams actually review.

Menu bar at a glance

A green, amber or red dot and the count you can claim, always in view. Admins set where the colours change, for the whole team.

Required approvals

One approval for a typo, three for a migration. Each approval comes from a different reviewer, and reviewers don't see earlier verdicts.

A fair-share dashboard

Throughput, wait times, queue health by age, and who gives and takes reviews, with optional flags for anyone well below their share.

Notifications that respect focus

Hear when your MR is approved or when the queue needs you. Pause for an hour, until tomorrow, or until you resume.

Admin-approved joining

Joining takes the team's key and an admin's approval. Admins manage roles, remove members and set the team's defaults.

Guest MRs and claim limits

Add an MR for someone outside the team, and cap how many reviews one person can hold at a time.

Security

The server can't read your MRs.

MR links, titles and notes are encrypted on the submitter's device and decrypted only on the reviewer's. The queue runs on metadata alone.

Submitter's device

Encrypts

The team key derives a data key with HKDF-SHA256. The MR is sealed with AES-256-GCM before it leaves the device.

Server

Stores ciphertext

It keeps the encrypted payload and runs the queue: order, claims, approvals and timeouts, enforced by database policies.

Reviewer's device

Decrypts after claiming

The server hands the payload only to the MR's submitter and its current reviewer. Nobody else can fetch it, even signed in.

Your team key never leaves your devices

  • Created on the device that creates the team, and shared by you, out of band: a password manager, a DM.
  • Two secrets are derived from it: the data key, and a verifier. The server stores only sha256(verifier).
  • Joining proves you know the key without sending it, and an admin still has to approve you.

What the server does see

  • Members' display names and sign-in email addresses.
  • Timestamps, statuses and who submitted, claimed and reviewed each MR.
  • That's what the dashboards are built from. It never sees which MR, or what it says.

The flip side: if every copy of a team's key is lost, its queue can't be recovered, by anyone. Keep it in your password manager.

Platforms

Your whole team, whatever they use.

One queue for the whole team, whichever app each person uses.

Beta

macOS

A native menu bar app for macOS 14 and later. Signed and notarized by Apple.

In the works

Web

The full app in your browser, with nothing to install. Works on any OS.

In the works

Windows and Linux

A tray app with the same glanceable dot and count.

FAQ

Questions

Does it work with GitHub, GitLab or Bitbucket?

Yes, with any of them. An MR in the queue is a link plus an optional title and note, so it works with any code host. It never needs access to your repositories.

Can I see what's in the queue before claiming?

No, and that's the point. You see how many MRs are waiting and how long the oldest has waited. The content reaches you only after you claim it.

What if I claim something I can't review?

Hand it back. It returns to the queue in its place, and the next person to claim gets it.

What happens if we lose the team key?

Any member's app holds the key, and admins can show it to invite people. If every copy is lost, the queue's contents can't be decrypted, by us or anyone else. That's the cost of real end-to-end encryption.

What does it cost?

It's free during the beta.

How do I sign in?

With your email address and a one-time code. There are no passwords to manage.

Bring fairness to your review queue.

Free while in beta. Tell us a little about your team, and we'll send you the app.