How I Run User Research
Most research tooling starts at the transcript. By then the expensive mistakes are already made: the wrong question was asked, of the wrong people, and nobody wrote down what was seen. This is the method I run instead — five stages from the question to the highlight reel, with two gates that catch the failures that quietly ruin a round. It is open source.
The Thesis
A session cannot count, and an event cannot explain.
Sessions are the most expensive evidence a team can produce, and they are routinely spent on questions that analytics would answer better and cheaper. Sessions are for why — motivation, confusion, the switching-cost calculus, the workaround someone has normalised. Telemetry is for what — how many, how often, where they drop off. Ask a participant how often they use a feature and you get their self-image, not their behaviour. The method makes that split explicit before a single session is booked.
The Workflow
Five stages, end to end. The two gates sit at the start and in the middle — the points where a round is usually lost without anyone noticing. Threading through all of them is the participant roster: authored once at recruitment, and the single source every downstream artefact is derived from.
Gate One — Check What You Already Know
Before designing a session, the method reads the prior research and the product analytics, then sorts every proposed question into three piles. Already answered: cite the evidence and narrow the scope to the unresolved edge. Analytics-answerable: pull it from telemetry, and hand the session back its real job. Genuinely open: proceed — this is what the round is for.
A session answers
- Why did they abandon it?
- What were they expecting instead?
- What would have to change before they'd switch?
- What workaround have they stopped noticing?
Telemetry answers
- How many got that far?
- How often does it actually happen?
- Where exactly do they drop?
- Which features are genuinely untouched?
The failure this prevents is not hypothetical. It is entirely normal for a round to re-establish something the last round already settled, because nobody checked, and for a full hour of a practitioner's time to be spent on a question a chart would have answered in ten minutes.
Gate Two — No Synthesis Without Human Observation
A transcript records what was said. Most of what a session tells you is not said. So the method refuses to write a synthesis until observer notes exist — and if they don't, it stops and runs a guided debrief instead.
- The pause before the click. The menu opened and abandoned.
- The workaround performed silently — without complaint, because the user gave up expecting better years ago.
- A bug nobody reports, because they assume it is their fault.
- Who was actually driving, when two people share a screen and only one of them talks. Get this wrong and every quote in the session inherits the error.
- Stated preference contradicted by observed behaviour. They said the feature was fine. You watched them avoid it for thirty minutes. In text, both halves sound equally sincere.
What did the participant say that you didn't believe?
The last question in the debrief, and the most useful one
Where the notes and the transcript converge, you can prioritise with confidence. Where they diverge, you cannot — and the divergence is itself the finding. That is why the triangulation section sits immediately before the recommendations, rather than being filed at the back as colour.
Consent Is a Build Constraint
Most consent scripts promise participants that colleagues will only see a role descriptor — "a Survey Manager in Europe" — and not their name. Then the highlight reel ships with their name and employer burned into the lower-third, because the reel script has a hardcoded dictionary and nobody ever connected the two.
So the promise is enforced in code, not in good intentions. Captions default to the role descriptor. A named caption is refused outright for anyone not explicitly recorded as having consented to one — and it fails before encoding starts, rather than after the file is already in a deck. Say only what you intend to keep, then let the tooling hold you to it.
One Source of Truth for Participants
Participant metadata has a habit of ending up in four places — the synthesis table, the research index, the clip descriptions, the reel script — which then drift apart. Names change spelling between rounds. Captions show the employer in one round and the job title in the next. Someone's mindset is quietly relabelled and nobody notices.
The roster is authored once at recruitment, completed during synthesis, and everything downstream is derived from it. Validation rejects any mindset or mission route that wasn't defined up front — which is how you stop "Enthusiast" and "Power User" quietly appearing in round three.
Define the Frameworks Before the Sessions, Not After
Two frameworks do most of the analytical work: mindsets — behavioural archetypes describing how someone relates to the product — and mission routes, the two to four real jobs users hire it for. Mission routes do double duty: at planning time they select which task script a participant runs and which dataset gets loaded; at synthesis they classify what the participant actually does. The gap between the two is a finding in itself.
Name your archetypes without defining them and the definitions get reverse-engineered after the sessions, to fit whoever you happened to recruit.
I have watched this happen, on my own project. The plan listed five mindsets by name and never defined them. The definitions were written afterwards, during analysis. Every mindset label in that evidence base now carries an asterisk — working definitions, not ratified — and that asterisk propagates into every deck and every answer anyone gets out of the research repository. It costs an hour to define them up front. It costs the credibility of everything downstream not to.
Principles
What People Say and What They Do Rarely Equate
Roughly 80% of human behaviour is non-communicative. People don't tell you what they do — they tell you what they think they do. A transcript preserves only the telling. Everything else has to be observed by a human, in the room, and written down before memory decays.
Evidence, or It Didn't Happen
Every mindset assignment carries a one-line verbatim quote as its signal. If you cannot quote the signal, you cannot make the assignment. Explicit negative rulings — "not a Reluctant Adopter, and here is why" — are the cheapest way to stop a label drifting three rounds later.
Observed Beats Inferred, and the Two Are Never Mixed
If an archetype wasn't observed this round, it is marked as inferred — a design hypothesis, not a finding. The moment an inference is laundered into a finding, the framework starts generating its own evidence and the research stops being research.
The Distribution Is a Finding, Not a Filing System
Who you recruited, and which route they actually turned out to live in, is often worth more than any individual usability observation. An archetype you expected to dominate and didn't is a signal about who the product is really for.
Recordings Never Leave the Machine
Session recordings are usually the most sensitive data an organisation holds about its customers. The transcription pipeline runs fully offline — local Whisper, local diarisation — and asks permission before it downloads anything.
Results
- A round is reproducible from the question, not just from the recordings — the plan, the discussion guide, the task scripts and the frameworks are all artefacts, not folklore.
- Prior-round evidence is checked before sessions are designed, so a round tests the unresolved edge instead of re-establishing what is already known.
- Analytics-shaped questions are moved to analytics, which hands the session back the half-hour it was going to waste.
- Synthesis cannot silently ship without the human observation layer, which is the single most common way a round loses most of what it learned.
- Consent survives contact with the deck, because the tooling refuses to break it.
- Open-sourced as a Claude Code skill, so the method is portable to any product and any team.
The Counterweight
None of this is theoretical rigour applied from the outside. Both gates are scar tissue. I have shipped a round whose mindset framework was named in the plan and defined only afterwards, and I have shipped a round with no observer notes at all — which means its synthesis is transcript-only, and is missing most of what actually happened in those sessions, in ways that can no longer be recovered. The method is the thing I wish had been enforcing me. Writing it down as a skill means the next round argues with me before I make the same mistake a third time.
The gates exist because I have personally failed both of them.
Take It
The method is open source and installs as a Claude Code skill — `npx skills add cameronhenkes/skills`. It ships with the research-plan template, the moderator script, the mission-route task scripts, the framework rubric, the consent-aware participant roster, and the clip pipeline. The frameworks are examples — define your own mindsets and mission routes, give each a definition and a signal to listen for, and the tooling will enforce them for you.