Customer interview library with searchable quotes and themes

Find what a customer said months ago in seconds, save the passage as a tagged quote, and export a theme with verbatim evidence to Notion.

App
AssemblyAIGoogle DriveNotionProductMarketingFeedback TriageResearch & MonitoringMeeting Workflows
PromptCreate

I want a customer interview library that my product and research team can actually search months after the conversation happened, instead of scrolling recordings nobody rewatches. Build it as an app with four surfaces: an interview list, an interview reader, a themes board, and an intake queue for new recordings.

The home view is a searchable list of every interview in the library, showing the interview title, customer, date, participants and tags, with filters for date range, participant and tag. Above the list is a search box that runs AssemblyAI Word Search across the indexed transcripts and returns matching moments grouped by interview, each with its timestamp, the surrounding sentence for context, and a link that opens the interview reader at that point. Word Search runs against one transcript at a time, so cross interview search means fanning out across every indexed transcript id and merging the results into a single ranked list. Each researcher can save a search with a name, and saved searches are private to the person who created them.

Opening an interview shows a clean timestamped reader built from AssemblyAI Get Paragraphs, with AssemblyAI Get Transcript supplying the interview metadata, speaker labels and full text. Each paragraph displays its start timestamp and the speaker who said it. A researcher selects any passage and saves it as a quote with a theme tag and an optional note. A saved quote stores the verbatim text, the transcript id, the start and end timestamps and the speaker, so every quote can be traced back to the exact moment it came from. The reader also has an ask this interview box powered by AssemblyAI LLM Gateway Chat Completion, for questions like what pricing concerns came up, answered against that single transcript, with the answer pointing at the timestamps it drew from.

A separate themes board groups every saved quote by its theme tag. Each theme shows the number of quotes and, more usefully, the number of distinct interviews and customers that raised it, so the team can see how many different people said the same thing rather than how loudly one person said it. Opening a theme lists its quotes with the customer, interview date and timestamp, and quotes can be re-tagged or moved to a different theme from here.

An export button on a theme writes that theme and its verbatim quotes into a research doc, using Notion Create a Page for the document and Notion Append Block Children for the body. The page leads with the theme name, how many customers raised it and the date range covered, then renders each quote as a quoted block with the customer name, interview date and timestamp underneath it. The researcher picks the parent Notion page before exporting.

New recordings are picked up from a Google Drive folder. The intake view lists audio files in that folder with Google Drive List Files, fetches the bytes with Google Drive Download File Content, and queues each recording with AssemblyAI Submit Transcript with speaker labels enabled. The queue shows each recording as queued, processing, ready or failed, polling AssemblyAI Get Transcript until it resolves, and a failed transcription can be retried from the queue. When a recording is ready, the researcher fills in the interview title, customer name and participants, and it joins the library.

Everything the team creates persists in the app: the interview index (transcript id, title, customer, date, participants, source Drive file id and status), saved quotes, theme tags, and each researcher's own saved searches. The app must maintain its own index of transcript ids rather than relying on AssemblyAI List Transcripts at read time, because that endpoint only returns the last 90 days and this archive is meant to outlive that window. Use List Transcripts only as a backfill helper when first populating the library.

What does this prompt do?

  • Search every recorded interview at once and jump straight to the moment someone said it, instead of scrubbing through recordings nobody rewatches.
  • Read a clean timestamped transcript with speaker labels, highlight any passage, and save it as a quote tagged with a theme.
  • See a themes board that groups every saved quote by tag, so you can tell how many different customers raised the same issue.
  • Export a theme and its verbatim quotes into a Notion research doc when you need evidence for a roadmap argument.

What do I need to use this?

  • An AssemblyAI account for transcribing and searching your recordings
  • A Google Drive folder where your interview recordings get saved
  • A Notion workspace, plus the page where research docs should be created
  • Recordings with reasonably clear audio; conversations with two or more people work best, since the app labels who said what

How can I customize it?

  • Change which Drive folder gets watched for new recordings, and how far back the library indexes when you first set it up
  • Set your own starting theme tags, like pricing, onboarding or integrations, and rename them as your research evolves
  • Point exports at a different Notion page, or change how each quote is laid out in the finished research doc

FAQs

Can I search across all my interviews at once, or only one at a time?
All of them at once. You type a word or phrase in the search box and the app checks every interview in your library, then shows you the matching moments grouped by interview with a timestamp on each one. Clicking a result opens that interview at exactly that passage.
What happens to interviews older than a few months?
Your transcription account only lists recordings from roughly the last 90 days, so the app keeps its own permanent index of every interview it has processed. Anything you have added stays searchable in the library for as long as you keep it, which is the whole point of an archive.
Do I have to upload each recording by hand?
No. You drop recordings into the Google Drive folder you picked, and the intake queue finds them, sends them off to be transcribed with speaker labels, and shows you the status until each one is ready to read.
Will it show me who said what?
Yes. Interviews are transcribed with speaker labels turned on, so the reader shows each passage against the person who said it, and saved quotes keep that attribution.
Can two researchers use it without getting in each other's way?
Yes. Saved quotes, theme tags and the themes board are shared, so the whole team builds one body of evidence, while each researcher keeps their own private saved searches.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Smart home entity health cockpit for Home Assistant

Open one screen to find every unavailable, stale, or low-battery device in your smart home, see which hub is really at fault, and clear out the dead entries in bulk.

Home Assistant
Notion
App
Open model approval desk for your production AI stack

See every open model your teams run in production, who approved it, and whether a quiet license change means it needs another look.

Hugging Face
Notion
Slack Bot
App
Turn Google Drive scripts into narrated audio, line by line

One desk to pull scripts from Drive, give every line its own voice, redo the one take that missed, and share approved audio in Slack.

Hume
Google Drive
Slack Bot
App
Bid board that watches every procurement portal for you

Stop checking a dozen agency sites by hand. Open one board of live solicitations, each scored against what your team can actually bid on.

Hyperbrowser
Notion
Slack Bot
App

Stop rewatching interviews to find one quote.

Build a searchable customer interview library where every quote, theme and export is a click away.