Skip to content
lube

Feedback

CaptureStructuredTriageSentiment over time

Feedback isn't a static score. It's a market.

Capture it with real structure. Triage it right next to the idea that answers it. Then watch sentiment climb after you ship and slide while a request sits.

  • Onboarding felt confusingTriaged
  • Needs SSO for the team planConverted
  • CSV export is too slowNew
Feedback, organized for delivery

Its place in the loop

Feedback is where the loop starts listening.

One connected loop, held on the stage this capability serves. The other stages stay as context so you can see what feeds in and what comes next.

BD
Discovery
Feedback
Product
Engineering
Release
Reliability
Evidence

Stage inventory

Feedback

Capture the customer signal.

Coming later reflects product vision, not a delivery commitment.

The problem

Feedback is easy to collect and hard to keep connected.

Customer input scatters across inboxes, calls, and docs. By the time it reaches engineering, the context that made it matter is gone.

  1. 01

    Requests arrive without the account or delivery context around them.

  2. 02

    Triage happens in a tool that never sees what shipped in response.

  3. 03

    Product teams re-explain the same request to engineering every cycle.

Deterministic core, AI on top

Capture, custom fields, tags, sources, analytics, and triage are the shipped product — they work with no AI configured at all. Sentiment scoring and insight extraction are an optional, entitlement-gated layer you switch on when you want items enriched. The deterministic path is the product.

One workspace, four tabs

Not four tools — one view.

Overview, Inbox, Sources, and Settings live on a single /feedback page, so capture, triage, per-source sentiment, and configuration never drift apart.

The workspace at a glance — volume, sentiment, and what is waiting in triage.

  • Total items and scored share
  • Net sentiment and its trend
  • New items in the triage queue
  • Top sources by volume
Everything about feedback, in one place

Triage, not a black hole

Each item, beside the idea that answers it.

The inbox sits next to the idea each request becomes. Triage an item, then create an idea from it — an explicit action you take, never a link the tool guesses.

CSV export times out once we cross ~50k rows.

Convertedwidget

Idea

Streaming CSV export v2

promoted

We need SSO before we can roll this out to the whole team.

Triagedemail

Idea

SSO for the team plan

exploring

Onboarding checklist was confusing on day one.

Converteddashboard

Idea

Guided first-run checklist

validated

Saved filters reset every session.

Newextension

Idea

Awaiting triage

not yet converted

Triage on the left, the idea it becomes on the right

Sentiment, per source

Tracked source by source, not blended into one number.

Each capture source keeps its own sentiment series — hourly or daily, up to 180 days — so a widget slump and an email recovery never cancel out into a flat average.

dashboard

+41

up 12 / 30d412 items

widget

+28

recovering318 items

email

-19

down 9 / 30d96 items

api

+52

steady climb204 items

One sentiment trend per source, last 30 days

Sentiment moves

So we chart it like it moves.

Zoom into a single source and we chart it as a sparkline and a candlestick, because the way people feel about an area keeps changing. A single average hides that. A trend line and open-high-low-close candles show the direction and the volatility, so a rough week is obvious and a recovery is provable.

It also changes behavior. When a team can watch sentiment climb after they ship, collecting feedback stops feeling like a chore and starts feeling like reading the tape. Feedback that gets acted on compounds in value. Feedback that sits in a backlog quietly loses it.

widget sentiment · 12 weeks

+44 net

up 24 pts since the CSV export fix shipped

One source's sentiment, week over week

sentiment · open-high-low-close

live
hover a week to read open · high · low · close
rose fell
Volatility, not just a direction

Line the trend up against what shipped and the comparison makes the case for you. The same complaint recovers once it’s addressed and keeps sliding while it waits.

shipped the fix

+46 net

recovered once the change went out

Acted on · sentiment climbs

left in the backlog

-18 net

kept sliding while it waited

Ignored · sentiment decays

Read it by the numbers

Analytics, projected across every dimension.

Slice volume and sentiment by category, status, source, tags, and any non-PII custom field marked as an analytics dimension. Every cut is deterministic — no AI required.

by category

feature 52%bug 31%general 17%

by status

processed 68%processing 14%queued 12%failed 6%

by source

dashboard 42%widget 28%email 16%api 14%

by plan · custom field

enterprise 38%growth 34%starter 28%
The same feedback, cut four ways

Every item, in full

Open one and the whole record is there.

The detail page keeps the verbatim content, source and category, sentiment score and label, scoped tags, custom-field values, and — when it is switched on — the AI analysis summary.

widgetfeature-12mixed

The CSV export times out once we cross about 50k rows. We rely on it for our weekly board deck, so right now we screenshot the dashboard instead.

plan
enterprise
arr band
$50k–100k
reporter role
admin
region
us-east
#exports#enterprise#performance

AI analysis · optional

Recurring export-performance pain from a high-value account. The ask is a faster large-export path; the screenshot workaround signals real urgency.

What /feedback/:id shows

How the AI layer works

When it is on, your chosen provider scores sentiment and extracts insight in batches, so analysis lands shortly after an item does. Only OpenAI executes in the dashboard today, there is a deterministic fallback, and every settings change is written to the audit log. Switch it off and capture, custom fields, tags, sources, and triage all keep working.

How an item is captured and processed

Capture, structure, then process.

Structured capture

More than a text box.

Feedback arrives from the dashboard, an extension, the API, a widget, email, or an import, with custom fields and scoped tags so triage stays consistent.

six capture channelscustom fieldsscoped tags
  • categoryfeature
  • planenterprise
  • sourcewidget
Structured context per item

AI analysis · optional

The gist, when you want it.

Switch on the entitlement-gated AI layer and your chosen provider scores sentiment and pulls out the opportunity, the risk, and the next step. Leave it off and capture, tags, and triage keep working.

sentimentinsightentitlement-gated
  • Positive48%
  • Neutral31%
  • Mixed13%
  • Negative8%
Sentiment across a source

Pipeline

From submitted to processed.

Each item moves through a processing pipeline while every source keeps rolling hourly and daily health.

submitted → processedsource healthfilters
  1. 01

    Submitted

    captured from a source

  2. 02

    Queued

    waiting for analysis

  3. 03

    Processing

    sentiment and insight

  4. 04

    Processed

    ready to triage

Feedback processing pipeline

The building blocks

Specific and structured.

Categories, sources, custom-field types, and AI lanes. Real fields with real behavior, not a vague promise about understanding your users.

Categories

How it is filed.

bugfeaturegeneral

Sources

Where it came from.

dashboardextensionapiwidgetemailimport

Field types

Custom structure.

textnumberdatebooleanpicklistmulti_picklist

AI providers

Optional. Your choice.

openaiopenrouteranthropiccustom

AI lanes

Per task.

classificationembeddinginsight_extraction

Sentiment

Labeled.

negativemixedneutralpositive

Where feedback goes next

Follow it into delivery.

Stop losing the request in someone's inbox.

Start free

Product decisions stay with your team.