Core Concepts

UserTold.ai is an agentic user research platform. It runs in-product interviews, captures what users say and do, extracts pain point evidence, groups evidence for review, and helps you push verified work to your tracker while keeping source evidence attached.

The Loop

Most research ends with a report. UserTold.ai closes the loop:

  1. Interview — AI talks to your users where they already are (embedded in your product)
  2. Extract — Pain points are automatically pulled from every conversation as structured evidence
  3. Review — Related evidence is grouped into review packets with frequency, intensity, and source context
  4. Act — Project-aware humans or agents decide which verified packets become work and push them to GitHub Issues or Linear
  5. Resolve and watch — Linear completion resolves current evidence, and future interviews are watched for possible recurrence

Each piece feeds the next. No manual transcription, no lost insights, and no delivery handoff detached from its evidence.


Projects

A project maps to one product (or product area) you want to research. Everything lives under a project: interviews, evidence, work items, intakes, and studies.

Each project has:

  • A public key (ut_pub_...) for embedding the widget and SDK requests
  • An optional tracker integration (GitHub or Linear) for pushing work items into the delivery loop

Intakes

An intake is a qualification funnel. Before someone enters an interview, the intake asks a few questions to make sure they're the right participant.

Intakes support:

  • Multiple question types (text, choice, number, rating)
  • Qualification rules (automatically qualify or disqualify based on answers)
  • Capacity limits (stop after N qualified participants)
  • Consent collection
  • Custom branding (color, welcome message, thank-you message)

When a participant qualifies, an interview is automatically created and begins.

Studies

A study is the interview script — what the AI should explore with participants. Studies define:

  • Goals — what you want to learn (e.g., "Understand why users abandon checkout")
  • Segments — phases of the interview, each with a different interaction style

Conductor Modes

Each segment runs in one of three modes. The study script controls the order; observe captures behavior silently, and planned talk segments debrief from that observed context:

ModeBehaviorBest For
Talk (talk)Half-duplex voice conversation via OpenAI Realtime (WebRTC). The participant mic is muted while the AI speaks, then rearmed for the participant response.Deep discovery, probing
Speak (speak)The AI delivers a scripted one-way transition message via TTS playback. Participant mic feeds STT transcription.Task setup, transitions, thanks
Observe (observe)Silent product-usage capture. Text instruction card shown; speech, clicks, navigation, and available page context are preserved for evidence and debrief.Usability testing

The clean usability pattern is speak instructions -> observe silently -> talk debrief -> speak thanks/end.

Interviews

An interview is one conversation with one participant. It captures:

  • Voice recording (transcribed automatically)
  • Screen recording (optional)
  • User interactions (clicks, navigation)
  • Chat messages
  • The full transcript

Interviews move through states: pendingactivecompleted. After completion, the processing pipeline kicks in automatically.

Evidence

An evidence card is a meaningful insight extracted from an interview. The AI analyzes each completed interview and pulls out one or more of these types:

Evidence Typesignal_type valueWhat It Means
Struggling Momentstruggling_momentThe user hit friction, failed a task, or expressed confusion
Desired Outcomedesired_outcomeWhat the user actually wants to accomplish
Hiring Criteriahiring_criteriaWhy they chose your product (or a competitor)
Firing Momentfiring_momentWhat would make them stop using your product
WorkaroundworkaroundA substitute behavior they invented because the product doesn't solve it
Emotional Responseemotional_responseA strong positive or negative reaction
Critical Errorcritical_errorA blocking failure (broken flow, dead end, lost data) observed in product
Recovery Successrecovery_successThe user got unstuck — useful to mark where the product already helps
Smooth Completionsmooth_completionThe user completed a task with no friction (positive evidence)
No Issue Foundno_issue_foundThe analyzer ran but found no extractable evidence in this window
Decision Pointdecision_pointA moment where the user weighed alternatives or hesitated before committing

Use the signal_type value when filtering via API (?type=struggling_moment), CLI (usertold evidence list --type struggling_moment), or MCP (evidence.list { projectRef: 'org/project', signal_type: 'struggling_moment' }). no_issue_found and smooth_completion are positive evidence — they're useful for showing where the product is already working, but they don't generate work items.

Each evidence card is self-contained:

  • A direct quote from the participant (the anchor — everything else is context for this)
  • Where it happened — page URL, page title, visible UI element
  • What the user was doing — their goal at that moment and the preceding actions
  • What happened after — did they recover, give up, or find a workaround?
  • A confidence score (how certain the AI is)
  • An intensity score (how strongly expressed)

Evidence describes the user's experience — never solutions or implementation direction. It stays in the user's world. Work items and solutions come later.

Evidence is the raw material. It feeds into review packets.

Work

A review packet is a grouped set of related evidence cards. UserTold creates review packets so a builder or agent can inspect the pattern before deciding whether it should become delivery work.

A packet should answer:

  • which evidence cards belong together
  • what shared user experience pattern they show
  • where the grouping is uncertain
  • how to replay or verify the source moments

The packet is not a solution recommendation. It is triage context.

A work item is a prioritized unit of work backed by user evidence. Work items become delivery-ready only after a project-aware human or agent verifies the packet, applies current product context, and decides the issue should enter the delivery queue.

Priority is calculated from:

  • Frequency — how many interviews mention this issue
  • Recency — how recently it was mentioned
  • Intensity — how strongly participants expressed it
  • Breadth — how many different user segments are affected
  • Evidence type — firing moments weigh more than workarounds

Work items move through: backlogreadyin_progressdone

Newly grouped evidence starts in review/backlog. Move it to ready only after verifying the linked quotes, transcript or playback context, grouping fit, and intended product area.

Implementations

When a work item is ready, UserTold.ai can generate a spec with:

  • User quotes as evidence of the problem
  • Acceptance criteria derived from evidence types
  • Linear completion and recurrence context

The spec is pushed to your issue tracker (GitHub Issues or Linear) as a native issue. For Linear handoff, source evidence stays attached, completion sync resolves the current linked evidence, and future similar evidence can surface for recurrence review.


How It All Connects

Project
├── Intake (qualification)
│   └── qualifies → Interview
├── Study (interview script)
│   └── guides → Interview
├── Interview (one conversation)
│   ├── Evidence (extracted insights)
│   │   └── grouped into → Review packet
│   └── Recording, transcript, events
├── Review packet (source-linked triage bundle)
│   └── verified and promoted to → Work item
├── Work item (prioritized unit of work)
│   └── pushed to → Delivery tracker issue (GitHub or Linear)
└── Settings (tracker integration, API keys)

See also

  • Quickstart — zero to first interview in 10 minutes
  • Studies — configure interview scripts