Where product and engineering decide what runs.
Every request from intake lands here with its brief, size, worth and a recommended seat. Product reviews what came in and says what it's worth. Engineering leads prioritize, rebalance and see where the time and money go. It's the one place the whole company's work lives, priced before it runs and signed when it lands.
waiting on product2
ready6
on the sled8
landed11
Review. Decide. Rebalance. Find the waste.
The board is built for the people who decide what engineering works on, and it answers the questions they ask every week.
Every request arrives with the why, the evidence, what it touches and who is waiting. Say yes, not now, or ask the filer, right on the row.
Worth is value and priority on one gauge. Adjust it and the routing follows. Rows with no worth wait instead of guessing.
Every row has a price before it runs, so priority is a trade you can see, not a debate in a meeting.
See who has headroom and who is at a wall, by area. Move a reviewer or pair two people instead of buying more tokens.
Rows that fit overnight at half price, work that fits a cheaper model, and where review is the queue.
Bring the backlog in, pick a day, and the old tracker becomes read-only history.
Where the time and money go, and what to do about it.
Their worth keeps until morning. Batch tier, half price, delivered by 6:20 am.
Estimated on Fable; your record says Sonnet lands this task type in band.
4 rows waiting on review, $48k worth waiting. Move a reviewer.
Filed by three people. Ask the filer, from the row, in one click.
Work arrives faster than anyone has ever asked for it. Almost none of it is sized.
Everyone in the company has Claude or ChatGPT now and is making things all day: specs, prototypes, a customer's request in a markdown file. It lands on engineering unsized, unvalued and unpriced. The agents make the doing cheap. Nothing between the request and the merge knows what any of it costs or is worth, so nothing can decide what runs now, what runs overnight at half price, what goes to a teammate, and what waits.
rows carried a cost when picked up. Sizes, where they existed, were guesses typed in a planning meeting.
An agent's plan ran in minutes; the PR sat in review for hours. The gap is people, not compute.
layers between the request and the merge that know what any of it costs or is worth, and read all three rails: platform key · seat quota · seat credits.
of a seat's window unused on an average day. Capacity, not savings.
Ready, on the sled, landed.
Filter by word, source, worth or type. Every row opens a panel with the brief, the assets, the questions, the recommendation and the activity.
| stage | request | size | band | worth | seat | filed by |
|---|---|---|---|---|---|---|
| ready | SSO redirect loop on the Acme tenant | M | $4–11 · 20–55 min · 81% | high · Acme renewal | — | Samantha |
| ready | Rate-limit headers on the public API | M | $5–12 · 25–60 min · 77% | — (ask John) | — | Samantha |
| on the sled | Billing page: proration shown before confirm | L | $14–38 · 1–3 h · 64% | high · churn | Dana | John |
| on the sled | Export CSV respects the saved filter | S | $1–3 · 6–14 min · 90% | medium | overnight | Jake |
| on the sled | Empty state for a new workspace | S | $1–2 · 5–10 min · 93% | low | overnight | Samantha |
| landed | Webhook retries with backoff | M | $6.10 · 38 min actual | medium | Jake | John |
One lane for each engineer.
For you shows only what someone put in front of you: sent by a person, proposed by the rules, or asked for in GitHub. Oldest first; a row leaves when you take it or pass it on. Take it moves it to your sled. Pass to… sends it on and tells the sender. Not me is a signal the recommendation learns from. Nothing here comes from someone else's assignment field.
- A bell that means somethingIt rings when a person sends work to you, when the rules propose you, when GitHub asks you to review. Never when you take it yourself.
- Answer from SlackThe DM carries the fact and one reply that closes the loop: take, pass, not me.
Everything about one request, in one place.
The request, why, done, smallest, worth, due, who is waiting, touches. Each field says where it came from.
The spec, the prototype, the screenshots. Same name replaces; the pool row says "prototype · spec · 2 screenshots".
Asked from the terminal, answered from the filer's chat or a Slack DM, kept on the row.
The best seat and model, the reasons, and whether your rules let it dispatch on its own.
Who did what, when. Links in text are links.
Take it, send to, hand off, withdraw, defer, run overnight. Same verbs as the terminal and the chat.
The mirror tells the truth.
Every pull request is mirrored onto its row as it is: who opened it and who it is assigned to, who merged it, what built it, the diff, and the wall-clock time. Reviewers requested in GitHub show up in their For you lane. Nothing is inferred about a person from any of it.
opened by tucker · assigned to rick built with claude code · fable-5.1 diff +412 −38 · 14 files review requested · rick → For you wall clock opened 2h ago · open
Set at intake by the person who asked. Adjusted by the lead. Learned over time.
Worth is value and priority on one gauge, set in a fixed order. At intake, by whoever asked, because they know what it is for. On the board, a lead can adjust it. Over time our model suggests it from your own stated and landed rows, always overridable. Tokens never become worth, and a missing statement is never a low.
| source | how it gets there | confidence | example |
|---|---|---|---|
| stated | A Worth: line in the spec, the request, or the PR body. In a conversation, one clause. Marked with who said it. | high | Worth: high · $5k–20k · Acme renewal |
| suggested | A per-org model that learns from that org's stated and landed rows. Always overridable at intake. | low, rising | medium · 0.4 · suggested |
| measured | An outcome signal after the fact: an incident count drops, usage moves, a renewal closes. | as observed | incidents −60% · 30 d |
| unstated | Nothing said, nothing inferred. | — | blank stays blank |
The words that go with the work live next to it.
Specs, decisions, runbooks and the product glossary live in Docs, in the same workspace as the items, with versions and a thread on each page. A doc ties to the items it describes, and when one of them lands the doc gets a check: still right, or needs an edit, with the diff to read. Your AI reads Docs at intake, so a request that touches a documented area arrives knowing what the doc says.
Moving over? Import a Confluence space in one run; pages keep their titles, links and tree, and the old space stays readable.
Keep the tools you run. Or don't.
Connect Jira or Linear and the board stays in step with it both ways: tickets become rows, bands and receipts go back to the tickets, and people who live in the tracker keep living there. Connect Confluence and Docs reads it.
If a team later wants to run on sleds alone, switch the mirror to read-only and the old tool stays readable as history. Leave any time and you keep every row.
Put it on the board.
Request an invite and we'll size your open work on day one.