Skip to main content
Dialpad

At Dialpad, I designed the first customer-facing experience for AI CSAT—an industry-first product that predicted satisfaction beyond sparse customer surveys. I took the dashboard through beta testing and launch, and helped build the Customer Intelligence system around it.

Product Design, User Research, Design Engineering, Analytics, AI

Dialpad AI CSAT dashboard showing a combined satisfaction score, customer survey response rate, AI prediction rate, and trend chart

Beyond the 3%

Traditional customer-satisfaction surveys capture only a fraction of contact-center conversations. Dialpad reported response rates around 3%, often weighted toward customers with especially strong opinions. That left managers making coaching and quality decisions from an incomplete view.

AI CSAT used Dialpad's conversation intelligence to predict satisfaction when a customer did not complete a survey. That gave managers a much broader view, but the product still needed to make three things clear: which scores came from customers, which were predicted, and how much of the total conversation volume was actually scored.

Read Dialpad's launch announcement

Customer Testing

I designed the first customer-facing analytics experience for AI CSAT and worked with my PM, customer success reps, and the ML team to take it from beta testing through launch.

Testing showed that customers did not immediately understand what “AI CSAT” meant or how it related to scores submitted by customers. I introduced three clear labels—Customer, AI Predicted, and Customer + AI—and used them consistently across filters, metric cards, chart legends, and tooltips.

The layout changed with the language. Early concepts gave CSAT, survey response rate, and AI prediction rate equal weight. I reorganized the dashboard around one large combined score, supported by separate Customer and AI coverage cards.

Before testing

CSAT
Response rate
Prediction rate

Three metrics with equal weight

After testing

Customer + AI
Customer
AI predicted ratings

One result, supported by two visible sources

Never show a score without its source and its coverage.

Survey response rate showed what share of calls had direct customer feedback. AI prediction rate showed what share of inbound answered calls received a predicted score, making it clear that the model did not score every call.

AI Didn’t Replace the Customer

AI CSAT launched within a broader Customer Intelligence feature set that also included new survey experiences. Together, the system let admins configure feedback, collect explicit ratings, supplement missing responses with AI predictions, and analyze both sources without conflating them.

The setup flows were designed around confidence before publish. SMS paired editable questions, response handling, and caller ID with a live message preview. Voice surveys turned text-to-speech, recording, uploaded audio, and response timing into a previewable caller journey.

Dialpad SMS survey setup with editable messages and a live phone preview
Dialpad voice survey setup with text-to-speech, recording, upload, and audio preview controls

Building With Dialtone

I helped implement the AI CSAT dashboard and built the front-end structure for the survey flows using Dialtone's Vue components and utility framework. Building the flows in code exposed responsive behavior, validation, preview states, and component constraints that were difficult to settle in static designs alone.

<template>
  <section>
    <header class="d-d-flex d-jc-space-between d-ai-center d-p24">
      <h1>New SMS Survey</h1>

      <dt-button importance="primary" @click="publishSurvey">
        Publish survey
      </dt-button>
    </header>

    <form
      class="d-d-grid d-g24 d-g-cols2 d-p32"
      @submit.prevent="publishSurvey"
    >
      <div class="d-d-grid d-g24">
        <dt-select-menu
          v-model="survey.callerId"
          label="Apply Caller ID"
          :options="callerIdOptions"
        />

        <dt-input
          v-model="survey.question"
          label="SMS survey question"
          description="Sent shortly after the call ends."
          type="textarea"
          :messages="questionMessages"
        />

        <dt-input
          v-model="survey.invalidResponse"
          label="Invalid response message"
          type="textarea"
        />
      </div>

      <survey-preview
        :caller-id="survey.callerId"
        :question="survey.question"
        :invalid-response="survey.invalidResponse"
      />
    </form>
  </section>
</template>

The implementation used shared inputs, buttons, validation behavior, spacing, and layout utilities so the experience inherited accessible interaction states and stayed consistent with the rest of Dialpad.

Contributing Back to Dialtone

Alongside AI CSAT, I contributed directly to Dialtone across multiple product initiatives. I worked with the Dialtone team in both Figma and code on components such as buttons, button groups, and inputs, as well as tokens for hover, focus, and related interaction states.

The work aligned design artifacts with shipped behavior and supported WCAG 2.1 AA requirements at the system level. Instead of resolving accessibility and consistency screen by screen, teams could inherit stronger defaults from the shared library.

Figma

Shared components, variants, and accessible interaction states

Vue

Production components and behavior reviewed with the Dialtone team

System

Tokens, utilities, and WCAG 2.1 AA guidance reused across products

Dialpad voice survey setup with text-to-speech, recording, upload, and audio preview controls

Related Analytics Work

My broader Dialpad work included agent-status reporting, live operational dashboards, dashboard configuration, and advanced filtering. These surfaces extended the same emphasis on dense but scannable information and reusable product patterns.

Outcome

Dialpad launched AI CSAT as an industry-first, real-time predictive engine within its Customer Intelligence offering. In its launch announcement, Dialpad reported that early-access customers saw as much as a 15% improvement in CSAT within the first three weeks.

The project enforced that a prediction is only useful when people understand where it came from and how much they can trust it. For AI CSAT, that meant testing the language with customers, showing how much of the call volume the model actually scored, and carrying those rules through the design system.

Want to work together?