For CPOs and product leads running discovery across teams

Delivery stopped being your bottleneck. So why aren’t outcomes moving?

Every bet, from your people or your agents, stays connected to the outcome it targets. Work that serves no goal shows up on its own.

Free plan, no card. First 10 design partners: lifetime 50% off.

SorbyNorthwind · product org
GoalsOpportunity SandboxSolution BoardDashboard
example workspace
82% of work linked to a goal71% of opps have a solution
Work · Trial → paid at 14%7 items · hover a row to see its chain

Opportunities

Trial users never invite a teammateGrowthValidatingRICC 36
Pricing page hides the team planWebScoringRICC 28
Card required before first valueGrowthResearch

Solutions

Invite prompt after the first goalGrowthBuilding
Team plan on the pricing pageWebReady

Experiments

Invite prompt A/B, 2 weeksGrowthRunning
Pricing copy testWebDecidedresult to record
The transition

More teams, more backlogs. One Monday question: which of this moves the numbers?

The answergets rebuilt by hand every quarter, from every team’s tools, by the person who should be deciding.
Two teamspick up the same problem from different ends. Nobody sees it until both are in sprint.
The goalthat half the roadmap serves was never written down, so nobody can say whether it worked.
The betsthat didn’t land teach nothing, because nobody recorded what they were meant to move.
How it works

Start from the goal. Everything else answers to it.

Step 1

Set the goal

A metric goal with a baseline and a target, or a project goal with milestones. No calendar periods: a goal lives from activation to its verdict.

Trial → paidmetric · 9% → 14%
SSO for enterpriseproject · 3 of 5 milestones
Step 2

Link the work

Opportunities, solutions and experiments from every team sit under the goal they serve. Work that serves nothing lands in its own list, in plain view.

Trial users never invite a teammate→ Trial → paid
Legacy coupon parser rewriteno goal
Step 3

Move the metric with evidence

Nobody types in the current value. It moves only from recorded contributions, each with a source and a maturity. Estimates never get added to confirmed results.

+0.4 ptsValidated
from experiment “Invite prompt A/B”Confirmed
+0.8 ptsClaimed
from solution, with a written reasonProjected
For teams that build with agents

Your agent’s plan shouldn’t end up in a markdown file.

Agents already draft the plan, spot the ideas and report what shipped. It lands in files nobody on the leadership team opens. Connect Claude Code or another MCP client to Sorby, and the same work lands on the shared board, where it has to answer to a goal.

People decide. Agents execute. One board.

People

Set the goals, choose the bets, decide what ships and what gets dropped. See the whole picture across teams.

in the app
Agents

Turn decisions into work: create and link cards, move them through stages, record experiment results, report back on what was done.

53 tools over MCP
Agents work under your goalsSame stage gatesA token carries exactly your permissionsWork that serves no goal shows up, whoever added it
agent session · checkout-refactor
› Refactor the checkout form. Log anything worth a bet in Sorby.

  Refactored 6 files. Three things came up.

  sorby.search("address validation")
    → 1 match: “Address form feels slow” · Payments · Research
  sorby.comment_opportunity("Address form feels slow")
    → evidence added to the existing card, no duplicate

  sorby.create_solution("Validate address on blur",
      team: "payments", goal: "Checkout conversion 3.8%")
    → Payments board · linked to goal

  sorby.create_opportunity("Guests re-enter card on retry")
  sorby.link_to_goal(goal: "Checkout conversion 3.8%")
    → Opportunity Sandbox · linked to goal

  sorby.create_opportunity("Legacy coupon parser is untested")
    → no goal fits · listed under Work serving no goal

  sorby.set_milestone_done("Checkout v2: remove step 3")
    → project goal 4 of 6
GoalsPayments + Growthsame session, on the board
Metric goal · PaymentsCheckout conversion 3.8%3.3%confirmed3.1% → 3.8%gap 0.5 pts
Work under this goal2 new today
Address form feels slowPaymentsResearch+1 comment
Guests re-enter card on retrynewSandbox · Research
Validate address on blurnewPaymentsSolution · Draft
Work serving no goalLegacy coupon parser is untestedadded by the same sessionLink to goal

An idea in the session becomes a card on the board.

The agent searches first and adds to what exists. Its own duplicates go to the archive, and anything archived can be restored.

Every card answers to a goal, or shows up as an orphan.

Unlinked work is listed, never hidden. Stage gates apply to agents the same way they apply to people.

Results need a source.

Milestones get ticked, contributions get recorded with the solution or experiment behind them. The CPO reads it in the weekly digest, not in a chat log.

53 tools over MCPClaude: custom connector, one per workspace, sign in with SorbyOther clients: personal access token from Settings → API tokensWe run Sorby’s own roadmap this way
Import debrief

Paste last quarter. See what it served.

Drop in a backlog export, a plan or research notes. Sorby turns it into opportunities, sorts them under your goals, flags likely duplicates of cards you already have, and lists what serves no goal at all.

  • PDF, DOCX, TXT, MD or CSV, up to 10 files at a time.
  • Up to 24 opportunities per import, grouped by goal.
  • No goals yet? It proposes up to three, as drafts you can accept or drop.
  • Nothing lands on the board until you press Accept.
  • 5 built-in imports a month per workspace. Through your own agent over MCP, there’s no Sorby quota.
Rather not set anything up yet?

Send the titles of last quarter’s closed tickets, 30 to 50 of them. We’ll send back the teardown within 24 hours: what served which goal, what served none, where two teams did the same work. Nothing to install.

Request the teardown →
q3-closed-tickets.csv · 38 rows · example

24 opportunities. 9 serve no goal.

3 look like cards you already have.
Trial → paid at 14%8 opportunities
Team invite is buried in settingspossible duplicate
Trial ends with no usage summarynew
Card required before first valuenew
Onboarding drop-off under 30%7 opportunities
Empty workspace on first loginnew
Import step fails silently on big CSVspossible duplicate
Serves no goal9 opportunities
Dark mode for the admin panelno goal
Rewrite legacy coupon parserno goal
DiscardAccept 24
Scoring library

Define a formula once. Every team scores on the same axes.

Team A runs ICE. Team B runs RICE. The CPO spends review meetings translating. Keep the models in one workspace library and attach any of them to any stage gate. Cross-team prioritisation stops being a debate about method.

RICCReach × Impact × Confidence × Cost of delay, each on a 1–5 scaleBuilt-in
ICEImpact, Confidence, EaseBuilt-in
WSJFWeighted Shortest Job FirstBuilt-in
Your formula(impact × reach) / effort × confidenceCustom
Across teams

See every team’s bets before they turn into duplicate sprints.

What changed · last 7 days example

Trial → paid+0.4 pts confirmed · from experiment “Invite prompt A/B” · now 10.2% · gap 3.8
SSOmilestone done “SAML config UI” · 3 of 5
Onboardingscale has not moved for 14+ days
Q4 pricingdraft expires in 6 days

Work needing a move

“Pricing copy test” is decidedRecord contribution
“Card required too early” · 9 days, no solution+ Solution
4 items serve no goalLink to goal

Where work is waiting all teams

Research14
Scoring9
Decision21
Building8
Shipped5

Also on the dashboard: gate health and driver load per team.

For anyone who spots a problem

One shared Opportunity Sandbox

Every team’s opportunities in one place, searchable. Stage gates keep half-formed ideas out of team backlogs.

For each team

Solution Boards, owned and visible

Each team runs its own board of solutions and experiments. Everyone else can read it. Every solution has a named driver.

For the CPO

One screen per goal

Open a goal and see the bets against it, by team and stage, with the chain from opportunity to experiment lit up.

Why this exists

I spent two years trying to get 15 teams to run discovery together.

Every PM had a different method. The CPO couldn’t see the whole picture. The CFO kept asking which of it moved revenue.

What was missing wasn’t another backlog. It was one place where every team’s work answers to the same goals, where overlap shows up before the sprint, and where a bet that didn’t land still leaves a record of what it was meant to move.

Madin, founder of Sorby

Tell me about your discovery →
Public showcase · Sorby · as of Sep 27, 2026read-only
Metric goalFour adopters by Nov 10adopters0 → 4 · due Nov 17 opps · 6 solutions
Metric goalMonth-3 retention above 50%0%confirmed0% → 50%5 opps · 5 solutions
Metric goalTwo teams live in the current quarter0teams0 → 21 opp · 3 solutions
We build Sorby in Sorby. Our goals, the work under them, and the 7% that serves no goal yet are public.Open the live showcase (in Russian) →
Pricing

Priced per workspace. Twenty-five people cost the same as five.

Free

$0

The full loop on your own backlog.

  • 1 workspace, up to 3 members
  • Goals, Opportunity Sandbox, one team board
  • Import debrief, 5 a month
  • RICC scoring built in
  • MCP access with a personal token
Start free

Team

$10/ month

One team running goal-connected discovery. Self-serve.

  • Up to 10 members
  • Metric and project goals, milestones, contributions
  • Opportunity Sandbox with stage gates
  • Solution Board with experiments
  • Full audit trail on every change
Start free

Org

$249/ month

Several teams, one set of goals.

  • Up to 25 members
  • A Solution Board per team, readable by all
  • Reusable scoring models on every board: RICC, ICE, WSJF, custom
  • Configurable stages and gates per board
  • Dashboard: funnel, bottlenecks, gate health, driver load
  • Founder-led onboarding
Book a 20-min intro
No credit card for Free or Team.First 10 design partners: lifetime 50% off.Self-serve billing for Org: Q1 2027.

No surprises in your security review.

Not SOC 2 yet. Here is what we are →

Your data lives in the EU

Workspace content is stored in Supabase Postgres in Frankfurt. Nightly backups are encrypted with a key only we hold before they leave the EU. Cross-border transfers are covered by the EU Standard Contractual Clauses.

Where data lives →

We never train AI on your data

Anthropic — our LLM provider — does not train its models on API traffic, contractually. Sorby does not train any model on customer content, ever.

How we use AI →
FAQ

Questions CPOs ask first

Can our team and our agents work in the same place?

Yes — one board with one set of rules. People set the goals and priorities in the app; agents do the execution over MCP. Their work lands under the same goals, passes the same stage gates and carries the permissions of whoever issued the token. Importing a backlog, settings and the dashboard are in the app only for now.

How is this different from the roadmap tool we already have?

Most tools organise one team’s backlog. Sorby starts from the goal and shows every team’s opportunities, solutions and experiments under it, plus the work that serves nothing. Reusable scoring models keep every board on the same axes.

Do we have to move research or delivery out of our current tools?

No. Research stays where it lives and engineering keeps shipping from its tracker. Sorby holds the chain from goal to bet and records what each bet did to the metric.

How do agents connect, and what can they do?

Through our MCP server: 53 tools. In Claude (web, desktop, phone) add Sorby as a custom connector — one per workspace — and sign in; other clients use a personal access token from Settings → API tokens. Agents can search, create and link opportunities, solutions and experiments, move them through stage gates, record experiment results, tick milestones and record contributions, and set up scoring models, stages and gates.

Is Sorby SOC 2 compliant? Does AI train on our data?

Not SOC 2 yet. We don’t train models on customer data, and our LLM provider doesn’t train on API traffic. A DPA is available on request; we send our standard one within 2 business days. Full policy: sorby.io/security.

Can we start today?

Yes. Sign up and set up a workspace with your own data, free. The first 10 design partners get lifetime 50% off and onboarding with the founder.

Start with last quarter

The answer to “are we moving?” is 24 hours away.

Send last quarter’s closed tickets and get the teardown back tomorrow. Or set up a workspace now, free.