From Interviews to Insights
4 user spheres orbit the product. Press Run Interview to send insight particles from a user to the product. Press Cluster Insights to group them into affinity themes.
Code example
A structured user interview script and the Jobs-to-be-Done story format.
// User Interview Script — structured but conversational
// Rule: listen 80% of the time, talk 20%
const interviewGuide = {
warmup: [
"Tell me about your role and what a typical day looks like.",
"How long have you been dealing with [problem area]?",
],
// Past behaviour predicts future behaviour — never ask hypotheticals
coreQuestions: [
"Walk me through the last time you [did the task]. Start from the beginning.",
"What were you trying to accomplish when that happened?",
"What did you do next? What was frustrating about that step?",
"What tools or workarounds do you use today?",
"If that problem disappeared tomorrow, what would that mean for you?",
],
// Never ask: "Would you use a product that...?" — always hypothetical
badExamples: [
"Would you pay for X?", // Ask about past spend instead
"Do you like the idea of...?", // Ideas are cheap — behaviour is truth
],
closing: [
"Is there anything I didn't ask that you think is important?",
"Who else should I talk to who deals with this differently?",
],
};
// After 5—8 interviews, patterns emerge — that's your signal to stop
// and move to synthesis (affinity mapping)
# Jobs-to-be-Done (JTBD) Story Format
# "When [situation], I want to [motivation], so I can [outcome]."
## Raw interview quotes (before synthesis)
quotes:
- "I spend 2 hours every Monday pulling data from 3 spreadsheets"
- "By the time I have the report ready, the meeting has started"
- "My manager asks me questions I can't answer live"
- "I built a Python script but it breaks every time the format changes"
## Synthesized JTBD stories
jobs:
- situation: "When preparing for my weekly stakeholder meeting"
motivation: "I want to have accurate, up-to-date metrics in one place"
outcome: "so I can answer questions confidently without scrambling"
pain_intensity: high
frequency: weekly
- situation: "When our data source format changes"
motivation: "I want my report pipeline to keep working without manual fixes"
outcome: "so I can focus on analysis instead of data wrangling"
pain_intensity: high
frequency: monthly
## Affinity clusters from 8 interviews
themes:
- cluster: "Data aggregation pain"
quotes: 6
severity: critical
- cluster: "Stakeholder communication"
quotes: 5
severity: high
- cluster: "Fragile tooling"
quotes: 4
severity: medium
Key concepts
User Interview
A structured conversation to understand a user's goals, frustrations, and current workarounds. Ask about past behaviour, never hypotheticals. 5—8 interviews reveal patterns; stop when answers repeat.
Jobs-to-be-Done
Users don't buy products — they hire them to do a job. JTBD reframes the problem: "When [situation], I want to [motivation], so I can [outcome]." Reveals what customers actually care about.
Affinity Mapping
After interviews, write each raw quote on a card (or sticky note) and group cards with similar themes. Clusters that emerge — repeated across multiple users — are your strongest signal for what to build.
Problem Statement
Synthesize your research into a crisp problem statement: "[User type] struggles to [goal] because [barrier]. This matters because [impact]." A great problem statement is the foundation of every good product decision.