Playground — homepage rebuilt from Welcome-screen content. Not the live site. Welcome Site Merged
bristlenose.

Closing the gap between interviews and findings.

Drop in a folder of recordings or transcripts. Bristlenose transcribes, analyses, and reports back — quotes pulled out, grouped by screen and theme, sentiment marked.

A typical run takes two to five minutes. Built by a practising user researcher, open source, and free.

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.

What you do with it

Eight study tools, in the order you meet them.

Ingest

Point it at the folder you already have

Drop a folder of recordings or transcripts — Bristlenose transcribes, analyses and reports back.

Audio, video, or transcripts exported from Zoom, Teams or Google Meet. Transcription runs on your laptop.

Video · mp4 mov
🎬
p3-session.mp4
Audio · m4a wav
🎙
p4-audio.m4a
Subtitles · srt vtt
📄
p5.srt
Document · docx
📃
p6-notes.docx
Folder
📁
interviews/
AutoCode

The model proposes. You decide.

Let AutoCode propose tags across every quote — you Accept or Deny.

“I couldn’t figure out where to pay.” Findability
“The confirmation came through fast.” Trust
Codebooks

Your codes, or a standard framework

Build a codebook, or start from a ready-made framework.

Nielsen’s heuristics, Garrett’s Elements, Norman’s Design of Everyday Things, Morville’s honeycomb, Yablonski’s Laws of UX, or a Command-Line UX set.

Tag

One key, one code

Select one or more quotes, and press t to tag them with a code from your codebook.

3 quotes selected Checkout
Star & hide

Keep the signal, park the rest

Press s to keep the quotes that matter, h to hide the rest.

“That’s the bit I always get stuck on.”
“Yeah. Mm. Sure.”
Connect an AI agent

Ask your study in your own agent’s window

Chat to your data from Claude Code, Claude Desktop, or any MCP agent.

It reads your quotes, themes and codebook, and cites quote IDs you can look up. Read-only, and per project — you turn it on.

> what frustrated people about checkout?
Three participants hit the same wall — the pay button sits below the fold on the review step. [q-114, q-207, q-233]
Video clips

Turn selected quotes into video clips

Cut from the original recording without re-encoding, with a few seconds either side.

P3 · 00:14:22 · “where to pay”.mp4
P5 · 00:31:07 · “went back twice”.mp4
P8 · 00:09:41 · “I gave up”.mp4
Send to Miro

Straight onto the board

Quotes land as sticky notes, grouped by section and theme, coloured by sentiment. Each sticky carries a participant code and timecode, not a name.

“I couldn’t figure out where to pay.”

P3 · 14:22
“Went back twice to check.”

P5 · 31:07
“Just gave up in the end.”

P8 · 09:41
Share

Hand over one file

Export the whole report as a single HTML file — quotes, themes, analysis, your edits, all inside it. It opens in any browser straight from the file. No server, no internet, nothing to install.

Export

Into the spreadsheet

Quotes to CSV or Excel, one row each — participant code, section, theme, sentiment, tags, timecode.

Transcripts

Word-synced, every speaker

Click any timecode to play from that moment. The transcript scrolls in step, so you never lose your place.

Languages

Not in English?

Menus and controls in twenty-two languages, from Spanish and Japanese to Ukrainian and Traditional Chinese. The report content stays in the language of the interviews.

Why the analysis holds up

The whole Scientific-background cell — nothing on the current site says any of this.

Emergent themes

The taxonomy comes from them, not from us

Themes emerge from participants’ own words, not a fixed taxonomy (Braun & Clarke, 2006).

“where to pay” “went back twice” “couldn’t tell if it saved” “the price changed” “no receipt” “who do I ask?” Checkout confusion Trust & proof
Signals

What a signal actually is

A score that combines the strength of participants’ opinions or feelings, their level of focus on an area or theme, and a measure of their agreement.

Strength 0.81Focus 0.74Agreement 0.90
Seven sentiments

Grounded, not invented

Seven sentiments, grounded in appraisal theory (Scherer) and core affect (Russell).

Frustration Confusion Delight Relief Confidence Doubt Indifference
Dignity without distortion

Tidied, never twisted

Quotes are cleaned of filler but the participant’s voice is honoured — the meaning is never edited.

So, um, The checkout, like, was honestly, the—the confusing, you know? I couldn’t actually figure out where to pay.
Standing on shoulders

The thinking the codebooks are built on

The Design of Everyday ThingsDon Norman
Usability EngineeringJakob Nielsen
Thematic AnalysisBraun & Clarke
Emotion & AdaptationRichard Lazarus

Don Norman — the codebook frameworks draw on his principles of human-centred design.

Things worth knowing

The Tip curriculum — one line per docs page, in the order the sidebar teaches them. On the site they stop rotating and all show at once.

From a folder of recordings to a readable report in minutes.

Connect an AI provider to run the analysis. Claude is the recommended default; ChatGPT, Gemini and Azure work too.

No API key? Run Ollama locally — free, no account, nothing uploaded.

Choose what the AI sees: cloud or local. Cloud models are faster and sharper; local ones never leave your Mac.

Drop .srt, .vtt or .docx and skip transcription.

Name p1.srt next to p1.mp4 to merge them automatically.

Every analysis runs the same twelve stages. Caching means a re-run only redoes what actually changed, keeping the cost down.

Everything Bristlenose makes lands in one folder, beside your recordings — yours to keep.

Tagging is analysis — group a set of quotes under a code and the findings start to surface.

Bristlenose reads interviews as sessions and quotes. Sessions, participants, quotes, sections and themes — that’s the whole model.

Make it yours: light, dark, palette and type.

Every setting has a sensible default you can change.

Try it now

Two commands

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

The report opens in your browser when it’s done.

Costs
$0.40

per hour of interview audio with Claude. Provider costs vary. Bring your own API key.

Where things live

The project file lives on your machine. You pick which provider sees the transcripts. API keys live in your OS keychain.

Playground mockup · docs/mockups/website-bento-welcome.html · copy lifted from WelcomeHomeView.swift and bristlenose-website/content/index.html.