GitHub review priority · Native macOS app

Know what to review first.

PullDeck turns GitHub review requests into a clear priority queue, timed in working hours and ready in your menu bar.

or with Homebrew:brew install --cask lumargo/pulldeck/pulldeck

macOS 14 or later · No account, no setup, just your GitHub token

Updated 1 sec. ago

Re-review requested after auth flow cleanup

meltenc/pulldeck #41@alice

re-review
✓ 1/24S · 244 wk. ago

PR with no first review after the warning threshold

acme/api #23@dina

1st review overdue
✓ 0/10M · 1654 wk. ago

Urgent release blocker with a very large diff and failing checks

acme/mobile #72@chloe

1st review overdue
×✓ 0/211XL · 7603 wk. ago

Old migration waiting long enough to trigger overdue handling

acme/platform #18@bob

overdue
✓ 1/22M · 541 mo. ago

Long PR title to verify wrapping in the menu bar popover row layout

acme/web #105@erin

overdue
✓ 2/21M · 634 wk. ago

Unlabelled cleanup with pending checks

acme/tools #7@frank

overdue
✓ 00XS · 84 wk. ago
Interactive preview. Example data.

23 min

Average time to fully refocus after an interruption (Gloria Mark, UC Irvine)

More code creates more review work, not more reviewer attention.

GitHub can tell you that six pull requests need attention. It cannot tell you whether a requested follow-up, a late first review or an older queue item should come first.

PullDeck resolves that ambiguity before you open a browser. The queue stays ordered by review action, while a quiet badge lets you choose when to switch context.

How PullDeck decides what comes first.

Five native tiers turn review state into an order your team can understand and predict.

Working time, not wall-clock time

Overdue signals can count only your working hours, in your own time zone.

Stable inside every tier

The longest wait comes first, then the PR number breaks a tie.

  1. 1Re-review requestedYou reviewed it before and your feedback is requested again.
  2. 21st review overduePast the threshold, with no decisive review submitted yet.
  3. 3OverdueWaiting for your review beyond the configured threshold.
  4. 41st review missingReady for someone to take a first look.
  5. 5Everything elseNo urgent review signal. The longest wait comes first.

A review priority system, not another inbox.

Deterministic, not scored

Every position follows a visible tier and a stable tie-breaker. No opaque urgency score, no ranking that changes for reasons your team cannot explain.

Team rules, personal time

Export the review policy your team shares: labels, diff-size tiers and the overdue threshold. Working hours and time zone stay personal to each reviewer and each Mac.

Context before the click

Review state, waiting time, diff size, checks and labels stay visible in the queue. You can choose the next review without opening every pull request first.

Grounded in how code review actually moves.

50% higher delivery performance
Teams with fast code reviews outperform. PullDeck exists to shorten time-to-review without pinging anyone.DORA 2023 · Google Cloud
< 1 hour to first feedback
Median time to first feedback on small changes at Google. Fast first response is the norm PullDeck's tiers protect.Google · ICSE 2018
~400 lines per review
Defect detection drops sharply beyond ~400 changed lines. That's why every row shows diff size before you commit your attention.SmartBear × Cisco
Time In Review
Meta measures how long diffs wait on reviewers and builds work-hours awareness into its tooling. Same idea behind PullDeck's business-hours overdue rule.Meta Engineering, 2022
More than defects
Reviews transfer knowledge and team awareness. One more reason queues shouldn't silently stall.Microsoft Research · ICSE 2013

One review policy. Personal working hours.

For engineers

  • Open one ordered queue instead of reconstructing priority from notifications, tabs and timestamps.
  • Batch reviews between focus blocks. The menu bar keeps the queue visible without pulling you into it.
  • See why a PR comes first before opening it: review state, wait time and diff size stay on the row.

For engineering leaders

  • Give the team one review policy: the same tiers, overdue threshold, labels and diff-size bands.
  • Surface first reviews and follow-up reviews before they quietly stall delivery.
  • Keep calendars personal. Shared rules never overwrite a reviewer's hours or time zone.

Privacy

Simple to audit. Boring on purpose.

No backend
The app talks to GitHub's API directly from your Mac. Nothing sits in between.
Zero telemetry
The app has no analytics, no crash reporting, no tracking of any kind.
Keychain only
Your token lives in the macOS Keychain, never in a file, never in plain text.
Read-only token
A fine-grained personal access token with read-only permissions is all it needs.
GitHub, plus updates
The app calls api.github.com for your PRs and fetches a signed update feed from pulldeck.dev. That check is anonymous: no identifiers, no profiling, no usage data.
Signed native updates
Sparkle is the only package dependency. It verifies every direct update with EdDSA before PullDeck replaces the app.

FAQ

Questions, answered.

What is PullDeck?

PullDeck is a native macOS menu bar app that turns GitHub review requests into an explainable priority queue. It shows what to review first, why it comes first and the context you need before opening the pull request.

How does PullDeck prioritize pull requests?

PullDeck uses five deterministic tiers: re-review requested, first review overdue, overdue, first review missing, then everything else. Within a tier, the pull request waiting longest comes first, with the PR number as a stable tie-breaker. There is no black-box urgency score.

Does PullDeck send my code or data anywhere?

No. PullDeck has no backend and sends zero telemetry. It talks to api.github.com for your pull requests and anonymously fetches an update feed from pulldeck.dev. The feed sends no identifiers, profiling or usage data, and your GitHub token stays in the macOS Keychain.

Is PullDeck free?

Yes. PullDeck is free while in beta. A one-time lifetime license will be introduced later, and beta users get access now at no cost.

Which macOS versions are supported?

PullDeck runs on macOS 14 (Sonoma) or later. It is a native Swift and SwiftUI app, not Electron.

How do I install it?

Two ways. With Homebrew, run brew install --cask lumargo/pulldeck/pulldeck, then update later with brew upgrade. Or download the .dmg, drag PullDeck.app into your Applications folder, and double-click to open. The app is signed with an Apple Developer ID and notarized by Apple, so macOS opens it directly with no Gatekeeper warning. The icon then lives in your menu bar, not the Dock.

Does PullDeck start automatically at login?

Optionally. There's a launch-at-login toggle in the menu, off by default. Turn it on and PullDeck is in your menu bar every time you sign in, ready before you are.

Does PullDeck work offline?

PullDeck needs a connection to api.github.com to fetch your pull requests. Offline, it keeps showing the last deck it fetched and surfaces a network error until you reconnect, then it refreshes automatically. There's no cloud sync.

What about Windows and Linux?

Not yet. We started on macOS to get the system-wide integration right; other platforms are on the roadmap.

How is PullDeck different from GitHub notifications?

GitHub notifications report events. PullDeck organizes review work. It separates a re-review from a late first review, applies your working-hours-aware overdue threshold, and keeps the resulting queue in your menu bar until you choose to open it.

How is PullDeck different from a pull request monitor?

A pull request monitor can show what exists or what changed. PullDeck is built around the next review action. Its native tiers distinguish follow-up reviews, first reviews and overdue work, then explain the order directly in the interface.

What GitHub permissions does PullDeck need?

Only a fine-grained personal access token with read-only permissions. PullDeck never writes to your repositories.

Do I need to configure PullDeck?

No. PullDeck works as soon as you paste a token, with tuned defaults, and it follows your Mac's time zone on its own. Everything is still configurable: labels, diff-size tiers, overdue thresholds, working hours. A team config can be exported and imported so everyone shares the same rules, while each reviewer keeps their own working hours and time zone.

Who builds PullDeck?

PullDeck is an independent side project, built and maintained by a software engineer who lives the code-review grind every day and wanted a calmer way to keep up. Its prioritization rules are based on published code-review research from Google, Microsoft, Meta and SmartBear.

Open the queue. Start with the right review.

or with Homebrew:brew install --cask lumargo/pulldeck/pulldeck

macOS 14 or later · Free while in beta

Your download is starting

Get your free license when PullDeck goes paid.

Beta tester perk: leave your email and you get a free lifetime license once PullDeck launches paid. That is the whole point. Maybe a rare note if something big ships, never more.

Unsubscribe anytime.