Meet Bristlenose, a tool for user-research analysis.

Drop in a folder of recordings. Get back a report — quotes pulled out, grouped by screen and theme, sentiment marked.

Download for Mac Get it from the Snap Store View on GitHub

Free and open source. The Mac app bundles everything — no command line needed — and runs on macOS 15 (Sequoia) or later on Apple Silicon. Also on Homebrew and pip for the command line.

25-second product video

Quotes, with timecodes

The moments worth sharing, pulled from each interview. Filler gone, meaning and feeling intact. Click a timecode to hear exactly what was said.

Screenshot: Quotes

Full transcripts, word-synced

Every word, every speaker, highlighted as the recording plays. If someone wants to see the full context, you can show them without explaining.

Screenshot: Transcripts

Click a timecode, watch the moment

Every quote links back to its video. Ten seconds of context, then close the player. No scrubbing through hour-long recordings.

Screenshot: Video

Tag with your own codebook

Your codes, or import a standard framework — the in-house Bristlenose UXR codebook, Nielsen's heuristics, Garrett's Elements of UX, Norman's Design of Everyday Things, Morville's honeycomb, Yablonski's Laws of UX, or a Command-Line UX set for developer tools. Drag, drop, recolour.

Screenshot: Tags & codebooks

Sentiment across the set

Frustration, confusion, delight, confidence — surfaced across every interview. Signal cards group the patterns: three participants, same form, same problem.

Screenshot: Signals

Export, or hand over one file

Quotes to a spreadsheet — CSV or Excel, one row each. Or a self-contained HTML file — stakeholders open it in a browser, no install. Exports use speaker codes, not names.

Screenshot: Export

Send quotes to a Miro board

Push your quotes onto a new Miro board as sticky notes, grouped by section and theme, coloured by sentiment. Each sticky carries a participant code and timecode, not a name.

Screenshot: Send to Miro

Cut video clips from the recordings

Extract a short clip for every starred quote, cut from the original recording without re-encoding. Each clip includes a few seconds either side and is named by participant code and timecode.

Screenshot: Video clips

Interface in nineteen languages

Menus and controls in nineteen languages, from Spanish and Japanese to Ukrainian and Traditional Chinese. Set it, or let it follow your system. The report content stays in the language of the interviews.

Screenshot: Languages

Live in the report

Star the key quotes, hide the noise, tag with your codebook, edit participant names, rearrange the codebook. Search across interviews.

AutoCode proposes tags from the AI; you set a confidence threshold and review the borderline cases. Filter quotes by tag or stars.

Screenshot: Serve mode

Closing the gap between interviews and findings

You've run your interviews. The recordings are in a folder and your team needs findings and recommendations.

Point Bristlenose at your recordings — audio, video, or transcripts from Zoom, Teams, or Google Meet — and it handles the mechanical part. Transcription runs on your laptop. The analysis pass extracts quotes, identifies speakers, groups everything by screen and theme. A typical run takes two to five minutes.

Built by a practising user researcher, open source, and free.

Try it now

$ brew install cassiocassio/bristlenose/bristlenose  # one-time setup
$ bristlenose ~/Desktop/interviews/                  # analyse folder

Report opens in your browser when it's done.

Get Homebrew first if you need it.

Your research project, on your laptop.

The project file lives on your machine. You pick which AI provider sees the transcripts — Claude, ChatGPT, Gemini, Azure, or run the analysis locally via Ollama (Fast modern hardware recommended).

Optional PII redaction strips names, phone numbers, and ID numbers from transcripts, before analysis, with an audit trail. API keys live in your OS keychain.

Costs

A study costs about $0.40 per hour of interview audio – LLM provider costs vary. Bring your own API key.

Follow along

UXR methods, new features, questions, chat and Bristlenose news.