Back to Docs

Use Cases

The Interview SDK supports multiple conversation modes, each with specialized AI analysis and result types.

Recruitment Interviews

Technical & Behavioral Hiring

useCase: "recruitment"

Conduct AI-powered screening interviews for engineering, product, and other roles.

  • Technical skill assessment
  • Behavioral question analysis
  • Culture fit scoring
  • Structured interview questions
  • AI-generated candidate summaries
const { data: project } = await client.createProject({
  name: 'Senior Engineer Interviews',
  useCase: 'recruitment',
  goal: 'Assess technical skills and cultural fit',
  audience: 'Software engineers with 5+ years experience',
});

// Results include
interface RecruitmentResult {
  overallScore: number;
  technicalScore: number;
  communicationScore: number;
  cultureFitScore: number;
  strengths: string[];
  areasForImprovement: string[];
  recommendation: 'strong_hire' | 'hire' | 'no_hire' | 'strong_no_hire';
  summary: string;
}

User Research

Product & UX Research

useCase: "user_research"

Conduct qualitative research interviews at scale to understand user needs and behaviors.

  • Open-ended exploratory questions
  • Theme and pattern extraction
  • Sentiment analysis
  • Automated insight generation
  • Quote extraction for reports
const { data: project } = await client.createProject({
  name: 'Mobile App Research',
  useCase: 'user_research',
  goal: 'Understand user pain points with current navigation',
  audience: 'Active users of our mobile app',
});

// Results include
interface UserResearchResult {
  themes: Array<{
    name: string;
    frequency: number;
    quotes: string[];
  }>;
  painPoints: string[];
  opportunities: string[];
  recommendations: string[];
  userJourneyInsights: string;
}

Customer Feedback

NPS & Satisfaction Surveys

useCase: "customer_feedback"

Collect and analyze customer feedback with conversational AI interviews.

  • NPS score collection
  • Sentiment analysis
  • Feature request extraction
  • Complaint categorization
  • Actionable insights
const { data: project } = await client.createProject({
  name: 'Quarterly Customer Survey',
  useCase: 'customer_feedback',
  goal: 'Measure satisfaction and identify improvement areas',
  audience: 'Customers who made a purchase in the last 90 days',
});

// Results include
interface CustomerFeedbackResult {
  npsScore: number;
  satisfactionLevel: 'very_satisfied' | 'satisfied' | 'neutral' | 'dissatisfied' | 'very_dissatisfied';
  sentiment: 'positive' | 'neutral' | 'negative';
  keyFeedback: string[];
  featureRequests: string[];
  complaints: string[];
  praisedAspects: string[];
}

Dating & Compatibility

Compatibility Conversations

useCase: "dating"

AI-powered conversations to assess compatibility between potential matches.

  • Personality assessment
  • Value alignment scoring
  • Communication style analysis
  • Interest matching
  • Compatibility predictions
const { data: project } = await client.createProject({
  name: 'Compatibility Assessment',
  useCase: 'dating',
  goal: 'Assess personality and values for matching',
  audience: 'Singles looking for meaningful connections',
});

// Results include
interface DatingResult {
  personalityTraits: string[];
  values: string[];
  communicationStyle: string;
  relationshipGoals: string;
  interests: string[];
  compatibilityFactors: string[];
}

Multi-Agent Conversations

Debates, Panels & Simulations

useCase: "multi_agent"

Create multi-agent experiences with multiple AI personalities interacting.

  • Multiple AI personalities
  • Debate and discussion formats
  • Panel interview simulations
  • Role-playing scenarios
  • Custom agent behaviors
const { data: project } = await client.createProject({
  name: 'Product Review Panel',
  useCase: 'multi_agent',
  goal: 'Simulate different customer perspectives',
});

// Create multiple agents
await client.createAgent(project.id, {
  name: 'Tech Enthusiast',
  role: 'panelist',
  personality: 'Early adopter, loves new features',
});

await client.createAgent(project.id, {
  name: 'Budget Conscious',
  role: 'panelist',
  personality: 'Price-sensitive, values practicality',
});

await client.createAgent(project.id, {
  name: 'Moderator',
  role: 'moderator',
  personality: 'Neutral, asks probing questions',
});

// Results include insights from all agents
interface MultiAgentResult {
  agentSummaries: Array<{
    agentName: string;
    keyPoints: string[];
    sentiment: string;
  }>;
  consensusPoints: string[];
  disagreementPoints: string[];
  overallSummary: string;
}

Custom Use Cases

Beyond the built-in modes, you can create custom interview experiences with tailored questions and analysis.

Additional Modes

"onboarding"

Customer Onboarding

Guide new users through setup

"coaching"

AI Coaching

Career or personal coaching

"therapy"

Mental Wellness

Supportive conversations

"sales"

Sales Qualification

Lead qualification calls

"support"

Customer Support

Issue resolution

"education"

Educational

Learning conversations

"podcast"

Podcast

Interview-style content

"roleplay"

Role Play

Training simulations

Customizing Questions

// Add custom questions to any project
await client.createQuestion(projectId, {
  text: 'Tell me about a challenging project you worked on',
  type: 'open_ended',
  section: 'Experience',
  order: 1,
  isRequired: true,
});

await client.createQuestion(projectId, {
  text: 'Rate your expertise with React',
  type: 'scale',
  options: ['1', '2', '3', '4', '5'],
  section: 'Technical Skills',
  order: 2,
});

await client.createQuestion(projectId, {
  text: 'Which technologies are you proficient in?',
  type: 'multiple_choice',
  options: ['React', 'Vue', 'Angular', 'Svelte', 'Other'],
  section: 'Technical Skills',
  order: 3,
});

Custom Analysis Prompts

// Customize how the AI analyzes interviews
await client.updateCustomization(projectId, {
  analysisPrompt: `
    Analyze this interview focusing on:
    1. Problem-solving approach
    2. Communication clarity
    3. Technical depth

    Provide specific examples from the transcript.
  `,
  scoringCriteria: [
    { name: 'Technical Skills', weight: 40 },
    { name: 'Communication', weight: 30 },
    { name: 'Problem Solving', weight: 30 },
  ],
});