Whitepaper + full instruction set · Sturdy × Claude
A voice-of-customer brief built from what your customers said in their own words, across every channel, in the interactions they are already having with your field teams. Nothing in it is self-reported. Human input is four words.
Setup runs under thirty minutes. No code. Nothing to fill in before first use.
The same five themes
A feedback board sorts by how many times somebody on your side filed. This brief sorts by what customers already did about the problem. Run both over the same sixty days and the theme that made a customer turn the product off lands fourth on one list and first on the other.
Ranked by filed requests
A count of how many times your team opened a form. Sorted descending.
Ranked by consequence
What the customer already did about it, proved by their own sentence.
The account that gave up stopped writing. Bluepine Logistics turned scheduled exports off and went back to building the Monday report by hand. That produced two filed requests and a quiet account. Four accounts mildly annoyed by a filter reset produced eleven. A count ranks the second one first, every time, and the bias always points the same direction.
Figure 1. Method A is what every feedback tool ships: a counter on a theme somebody named. Method B is the standing consequence ladder applied to the same record. Filed-request counts here are illustrative. Everything on the right side is derived at run time from the communication record.
How the backlog actually gets filled
A CSM hears a fifty-minute conversation. She has nine minutes before the next one. Here is what the customer said, and here is what reached the roadmap meeting three months later.
What the customer said, on the call
The weekly digest has been duplicating rows for about a month now.
We stopped forwarding it to the team. I cannot vouch for the numbers.
Every Monday we pull the same figures out of Salesforce by hand instead.
What she filed, at 4:51pm
Nothing she entered was false and she was not careless. She compressed a fifty-minute conversation into a title and a picklist, from memory, between meetings. This is the input every roadmap ranking in the category is built on.
What flows through the object model
Every product feedback tool ships the same structure. A request carries a title, a requester, an account, a priority, and a status. Requests roll up under a theme somebody named. The theme accumulates a count, the count sorts the list, and the top of the list becomes the thing that gets built. Look closely at what is actually being measured.
A request count is the number of times someone on the vendor side chose to file. That tracks CSM diligence, queue habits, and calendar slack. Two conscientious CSMs will out-vote a hundred silent customers.
Not observed. Not derived. The person who wants the fix picks the severity, in a field their product manager reads. That is what happens when anyone grades the urgency of their own request.
"Digest deduplication" is an engineering framing of something the customer described as not trusting a report enough to forward it. Different problems, different fixes, and only one of them is what the customer said.
The sentence where their ops lead wrote that they turned the alerts off is in an email thread. The competitor's name is in a support ticket. The backlog never read any of them.
And the direction of the error is predictable. A customer who is frustrated writes to you constantly. A customer who has given up stops writing. They turn the feature off, revert to the old system, and go quiet, and quiet generates no requests, no votes, and no linked accounts. By the time the behavior is severe enough to matter most, the account has stopped supplying the only input a count-based system can read.
What replaced the priority field
What varies between themes is not how badly the customer feels. It is what the customer did. So the ranking runs on a standing ladder of five customer actions, and a theme takes the highest level any contributing account reached.
The customer stopped using it, turned it off, or reverted to the prior system.
The customer is holding a named signature, go-live, wave, expansion, or renewal pending this.
The customer has entered commercial renegotiation, filed a formal escalation, or has an executive demanding an explanation.
The customer runs a manual workaround on a recurring cycle to keep working.
The customer asked, and has not been answered. No behavior change.
Intensity is not consequence
Strong language moves nothing. Only a described action moves a theme up. The angriest email in a window is usually from the account with the least at stake. A customer with something genuinely held up tends to describe the holdup, not their feelings.
The action must be live at the end of the window
If a later message shows the workaround retired or the hold released, the level drops and the card says so. A consequence that has already been resolved is a support outcome, not a roadmap input.
The component with no equivalent in any feedback tool
Every consequence level above Raised must carry, visible in the same card, a first-person message authored by the named account, dated on or before the level date, in which the customer describes the action themselves. Not a summary of it. Not a link to it. The sentence, next to the claim it supports.
We've switched the exports off and gone back to running the Monday reports by hand, because twice this month the file that went to our leadership was three days old.
Dana Whitfield · Bluepine Logistics · 21 Jul 2026 · incoming
The customer, in the first person, naming the action they took and when. This is the sentence that earns the top of the roadmap, and it is the sentence a product leader forwards to an engineering lead.
Customer is blocked on this and feels overwhelmed by the volume. I think they would prefer a daily digest.
Internal CSM note · outgoing · third person
A note about a customer is somebody's observation, and it never appears in a quote block under a contact's name. It can still shape the pattern summary. It can never establish a consequence level.
This sounds pedantic until you see how much of a record is made of it. The most detailed feedback in a window often arrives as a manager's third-person relay of what their colleagues think. Useful, specific, and completely unquotable. A system without this rule prints it under a contact's name as if that contact had said it.
What you get
You type "run the product pulse." One line confirms the run started. Then one self-contained HTML file, computed at read time from the current state of the record.
Five accounts reported exports that completed without errors while delivering stale or incomplete files, and one of them has switched exports off entirely rather than keep checking every delivery by hand.
Abandoned. Bluepine Logistics, 21 Jul 2026.
Evidence
We've switched the exports off and gone back to running the Monday reports by hand, because twice this month the file that went to our leadership was three days old.
Dana Whitfield · Bluepine Logistics · 21 Jul 2026
The export completed with no errors, but half the regions are missing from the file.
Priya Raman · Corvela Health · 8 Jul 2026
Is there any way to tell whether a delivery actually ran? We only find out when someone downstream complains.
Marcus Odell · Martek Industrial · 4 Aug 2026
Recommended action
A scheduled export either delivers current, complete data or tells its owner that it did not, and a failed or partial run is visible before the recipient opens the file.
Owner: Exports team
01
Header
The tenant name and one generated sentence stating how many accounts independently raised the top theme and what the sharpest of them already did.
02
Roadmap recommendations
Four cards, ranked, expanded. Rank, headline, one-sentence business case, consequence pill, accounts and ARR, the proving quote, one recommended action, one owning team.
03
Services findings
Same structure, same evidence discipline, no rank numbers, below the roadmap. A services problem never consumes an engineering allocation, and burying it would be worse.
04
Evidence matrix
Every theme plotted on consequence against accounts affected, sized by combined ARR. Themes that did not reach the roadmap render muted, so you see what was passed over.
05
Voice of customer
Every theme in verbatim customer language, organized by theme rather than account, with quotes ordered so different accounts sit adjacent and corroboration is visible without reading.
06
Footer
Coverage, ordering, and verification. Which channels were live, how the run was ranked, and counts of what actually rendered rather than what was intended.
The rebuild
Remove every field a person can set and what remains is, surprisingly, almost everything you wanted. The brief still tells you what to build, why, who is affected, what it is costing you, and what your customers said in their own words. It just never asks anyone what they think.
No count
Nowhere does the number of times something was mentioned determine its rank. Volume appears only as evidence density. It is reported, never sorted on.
No priority field
No severity picklist, no criticality, no importance rating. A field a human sets is a field a human sets in their own favor. A consequence level states a fact about behavior and can be contradicted by the record.
No single score
No health grade, no blended number, no composite. Give a team a composite and within two quarters the composite is what gets managed. There is nothing here to move except the underlying reality.
No vendor-named themes
Every theme is titled in the customer's own language. "Digest output does not match the source system" is a theme. "Reporting Issues" is a category heading, which is the vendor summarizing again.
No estimated revenue
ARR comes from the CRM record or it is absent. When the field is empty for an account, that account contributes to the count and not to the sum, and the brief says so. When the field does not exist in the tenant at all, the run continues on consequence and account count alone and states that no revenue figure appears anywhere in the document. An estimated ARR is the single most persuasive number in a roadmap brief and the easiest one to invent.
And there is no surface to game. Nothing is stored. The brief is computed at read time and then it is a file, so there is no stale backlog because there is no backlog. Someone who wants a theme ranked higher has exactly two moves available: find a second account that says the same thing independently, or find the sentence where a customer describes an action they took. Both are the work you wanted done anyway.
Before you build it
Four of these are in the paper. These are the ones that change whether you should run it at all.
A complaint made on a call and never confirmed in writing is invisible unless transcripts are ingested. This is the real ceiling, and it is why the coverage line names which channels were live. A thin record yields a thin brief, and the artifact says so instead of filling the gap.
A theme needs two or more accounts, so a serious problem raised by one customer in the window gets no card. The alternative is worse: one vivid thread promoted to a pattern sends engineering after a single customer's problem while presenting it as everyone's. Single-account candidates are named below the evidence matrix instead.
It reads customer actions out of ordinary prose, and it will occasionally miss an implied one or read a rhetorical threat as a real hold. Treat a level as a strong first pass that a human confirms against the visible quote, which is precisely why the quote is visible.
The ladder encodes a belief, which is that what a customer did tells you more than how a customer felt. That belief is arguable. If your business has a different view of what earns a roadmap slot, the ladder is plain text your team owns.
The series
01
Product Pulse
The roadmap brief, built from what customers said rather than what your team filed.
You are here02
Release Impact
Whether the theme a release addressed dropped a consequence level, and what took its place.
Soon03
Churn Postmortem
What the account described, when, and whether the consequence was visible before it left.
Soon04
Competitive Mentions
Which products customers named as the alternative, in whose words, in which thread.
Soon05
Onboarding Friction
Where implementations stall, ranked on what customers stopped doing about it.
Soon06
Product Reporting
The series finale.
SoonGet the build
The full paper includes both appendices: the literal project instruction set with the standing rules, the consequence ladder, and the verification pass, plus the render template. Paste the instructions into a Claude project, upload the template, connect Sturdy over MCP and your CRM, then type four words. There is nothing to fill in before first use except the CRM connector name and the revenue field.
Whitepaper · Sturdy × Claude
Then do the exercise that actually validates it. Open the top-ranked card and check the proving quote against your own memory of that account. It will usually be about an account nobody was worried about.
What lands in your inbox
Loading the form. If nothing appears, an ad blocker or privacy extension is blocking HubSpot. Turn it off for this page and reload, or email hello@sturdy.ai and we will send it over.
Sturdy is the data layer: every customer conversation, canonically resolved to the account, served over MCP. Claude is the reasoning layer you already pay for. The judgment is yours. Want us to stand it up against your own record in one session? hello@sturdy.ai