Every part of the board, and why it’s there.
Limn is opinionated about one thing: the fastest way to understand a team is to see it. Everything on this page is free and open-core — not a trial, not a taster. The core is the product.
A feed that reads like a changelog, not a firehose.
The view Limn opens on: one consolidated, cross-repo stream of what actually happened — opens, merges, reviews, comments — and the commits that addressed a review thread, coalesced into runs per author so “pushed 4 commits · addressed 2 threads” is one line, not four. Chronological, bot-filterable, full markdown bodies inline.
Click any card and the full PR detail opens in its own tab; browser Back returns you to the exact feed item you left, scrolled into place. Reply to and resolve threads without leaving the feed.
It’s the “what did I miss overnight?” view — answerable in ten seconds, instead of by reconstructing the day from Slack, GitHub, email and Jira.
Repos down the side. Time across the top. Everything in between.
When the feed answers “what happened?” and you want “what’s the shape of it?”, switch to the board. It’s nested two levels deep: each repo holds a row per contributor. PR bars pack into lanes so nothing overlaps; opens, reviews, comments and commits render as distinct shaped markers that cluster into counts as you zoom out and expand again as you zoom in.
Contributors with merge rights wear a maintainer shield, every name links to its GitHub profile, and a noisy contributor collapses to a single line — remembered across reloads. Click a marker to read the actual review or comment in a popover; click a bar to load the PR into the detail pane.
And it’s fast in a way GitHub structurally isn’t. GitHub makes you click through repo → pull requests → files → back, once per repo, per PR. Limn renders your whole org’s activity in one scan — and because everything is synced locally first, navigation is instant. No spinners between you and the answer.
A list tells you a PR exists. A timeline tells you it’s been open eleven days, reviewed once on day two, silent since — and that’s the part that changes what you do next.
Why a timeline, not a list
Lists make you read; a board lets you scan. Putting time on an axis surfaces the two things a list structurally can’t — duration and staleness — at a glance: a long bar is a long-lived PR, a gap after the last marker is a stall. Grouping spatially (repo → contributor) turns “who’s working on what” into a shape you recognise rather than rows you parse, and clustering keeps it legible as volume grows. A list of 200 open PRs is unreadable; a timeline of 200 has a shape — and the outliers jump out.
Each repo gets a console. State of play at a glance.
Pick a repo in the Activity rail and you get its state of play: a compact stats header, a thread-state bar showing how much review feedback is resolved versus sitting, and every open PR with its CI status, approval standing and thread counts — then that repo’s own feed underneath.
The whole console re-scopes live with your repo and member filters, so “how’s the payments repo doing this sprint?” is one click, not a query.
Standups ask the same question per repo every day. The console is that answer, pre-assembled, before anyone shares a screen.
Every review thread, in one of four states.
During sync, Limn classifies each review thread by cross-referencing replies and resolution against the commits that landed afterward. One of these states is a heuristic — and the product never pretends otherwise.
Resolved
Marked resolved on GitHub. Done — no action needed.
Likely addressed
A commit touched the thread’s file after the last comment. A heuristic — and the UI says so, because renames and unrelated edits can fool it.
Replied · unresolved
Someone replied, but it’s still open and no later commit touched the file. A live conversation with no fix yet.
Untouched
No reply, no follow-up commit. Feedback left and, so far, ignored.
A tool that hides its uncertainty earns distrust the first time it’s wrong. “Likely” is doing honest work — it surfaces threads worth a glance without claiming they’re settled.
Drill in without leaving the dashboard.
Select a PR and the full detail opens in place: Overview (CI checks with failing-job logs, reviewers vs approvers vs merged-by, requested reviewers, labels, summary and comments), Threads (grouped by file, newest first, with code anchors), inline file diffs with unresolved threads pinned to their lines, and a per-PR activity feed — each entry with a “Show on timeline” deep-link.
It’s not read-only. Reply to and resolve threads, leave PR comments with @mention autocomplete, request reviewers, and approve — real GitHub writes, and the approve control is gated on your real viewer_permission, so it only appears when you genuinely can.
Every context switch back to github.com is a chance to get lost in the tabs. If the answer and the action live in the dashboard, the loop stays closed.
Every open PR, with a reason it’s on the list.
A collapsible strip across the top holds every open PR in your repos. Filter to all, my turn, or needs attention, and each card carries a reason tag — awaiting your review, CI failing, merge conflicts, approved & ready, stalled — computed from the PR’s real state. The strip even keeps a running stalled count, so a growing backlog of quiet PRs is a number you can’t miss.
Stale PRs are where work silently dies. Limn flags any open PR that’s gone quiet — unresolved threads, no commits for days — so it never slips past a sprint boundary unnoticed. And on the timeline they’re impossible to miss: a long bar with no recent markers is a stall, at a glance.
Fast is a feature.
Everything is synced into a local database and served through a deliberately lean read layer — the board never waits on GitHub to render. Filters compose instantly: repos, members, date presets, event categories, thread states, review verdicts. The whole thing feels like a native app because, architecturally, it nearly is one.
And every view is a URL. The filter state mirrors into the query string both ways, diffed against defaults — so the common view stays a clean link and a custom one is shareable, reloadable and bookmarkable.
A dashboard you wait for is a dashboard you stop opening. Speed isn’t polish here — it’s the difference between a habit and a bookmark you feel guilty about.
Hands on the keys.
- /Jump to the repo search
- jkCycle through PRs
- iOpen the Activity console
- EscStep back out — tab, then selection
Deep links work everywhere too — a PR, a thread, a filtered view are all addresses you can paste into a standup note.
The intelligence layer lives in Pro.
AI summaries, Workspace Insights, flow metrics, My-Turn triage, Slack digests, and agentic review & fix — everything that turns activity into decisions.