Customer evidence board built from your Fireflies calls

By General Input

See the themes customers keep raising on calls, backed by verbatim quotes and the meetings they came from, before you argue about the roadmap.

Integrations

  • Fireflies.ai
  • Linear

Type

App

Categories

  • Product
  • Engineering

Build me a customer evidence board that my product team opens during roadmap planning. It shows what customers actually said out loud on calls, grouped into recurring themes, so we can argue about priorities from real quotes instead of from memory.

The main surface is a theme board with a filter bar at the top: a date range picker, a keyword box, and a participant filter. These map onto the Fireflies.ai List Transcripts operation, which accepts a keyword, a from date and to date, and a participants array. Ship the keyword box with a few starter searches product teams actually use, such as cancel, refund, pricing, integration, and competitor names. There is also an internal domains setting: I enter our own email domains once, and any meeting whose attendees are all on those domains is excluded, so the board reflects customers rather than ourselves. Keep that setting saved between sessions.

Each theme renders as a card showing the theme name (for example pricing pushback, a missing integration, a specific bug, or churn risk), the number of distinct meetings it appeared in, and a trend indicator comparing that count against the same length of time immediately before the selected range, marked as up, down, or flat. Sort the board by meeting count, highest first.

An embedded background agent does the clustering. Put a Refresh themes button on the board that kicks it off on demand for the selected range. The agent calls Fireflies.ai List Transcripts to find the transcripts in range, then Get Transcript on each one to read the sentences with their speaker attribution, groups what it finds into themes, and writes each theme back into the app's own storage together with its supporting quotes. Every stored quote keeps the exact sentence text, the speaker name, the meeting title, the meeting date, and the link back to the Fireflies meeting. The board reads from that stored data, so themes persist between sessions and simply opening the app never re-analyzes anything.

Clicking a theme opens a detail view listing every supporting quote underneath, each with the speaker name, the meeting date, and a link back to the Fireflies meeting. From there I can push the theme to engineering. Before filing anything, the app runs Linear Search Issues with the theme name and its key terms and shows me the matches, so I can link the theme to an existing issue instead of filing a duplicate. If nothing fits, a Create issue button uses Linear Create Issue with the theme as the title and the quotes pasted into the description as evidence, each one attributed to its speaker and meeting date. Use Linear List Teams to populate a team picker on that form. After filing, store the issue key and URL on the theme and surface it on the card, so the board also tracks what has already been raised.

Three rules matter. A theme is only worth showing when it came from two or more distinct meetings, so single mentions stay off the board, and keep that threshold configurable. Quotes must stay verbatim, copied word for word from the transcript rather than paraphrased or cleaned up, because the evidence has to hold up in a planning argument. And the clustering agent should work over a bounded date range and cache its results, since Fireflies allows only 50 API requests per day on the Free and Pro plans and re-clustering on every page load would burn straight through that budget.

Related prompts

Explore more prompts
Catch feature flags that never got switched on in productionWeekly alert noise review board for incident.io on-callMorning triage board for your Kernel browser agent runsTrack every half finished LaunchDarkly rollout in one boardFind the customers stuck contacting support again and againTurn shipped Linear work into Intercom product announcementsVoice agent QA review board for your Hume EVI callsClose the loop between Front tickets and Linear bug fixesOpen a Heroku release war room the moment production looks wrongFind the themes Help Scout tags miss and file them in Linear