Dan Trapp

GTM demo / Voice AI

Rime IVR Preview Studio

A Rime-powered IVR preview studio that turns voice-bot sales conversations into something buyers can hear, test, route through, and export.

A focused TTS product demo for building small IVR flows, generating Rime prompt audio, checking pronunciation coverage, simulating caller paths, capturing lead intent, and exporting an implementation pack for a real telephony or voice-agent deployment.

Status

Prototype

Timeline

Newest portfolio build, shipped May 2026

Domain

Voice AI

Why

GTM demo

Rime IVR Preview Studio showing a healthcare appointment voice flow with routing proof and first voice moment guidance
Rime IVR preview, caller routing, and voice-demo proofPrototype

Stack

Languages, services, data sources, and operating pieces behind the build.

Next.js 16React 19TypeScriptTailwind CSSRime HTTP TTSVercel route handlers

Code Proof

What The Build Actually Contains

LOC

3.7k+

Source files

11

API routes

4

Models

Arcana/Mist v3

Templates

5 industries

Product proof

Rime IVR Preview Studio showing a healthcare appointment voice flow with routing proof and first voice moment guidance
Rime IVR preview, caller routing, and voice-demo proof

Implementation

Code Behind The Surface

Rime Prompt Generation

ts

The app generates one preview clip per IVR node and caches prompt/model/voice combinations so repeat previews stay fast.

const response = await fetch(process.env.RIME_API_URL ?? RIME_ENDPOINT, {
  method: "POST",
  headers: {
    Accept: "audio/webm;codecs=opus",
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    text: prompt,
    modelId: flow.modelId,
    speaker: flow.speaker,
    lang: flow.lang,
    samplingRate: 24000,
    timeScaleFactor: 1.12,
  }),
});

Coverage Before Call Quality

ts

Voice demos break trust when brand names, medications, products, or domain terms sound wrong. The coverage check makes those risks visible early.

const response = await fetch("https://users.rime.ai/oov", {
  method: "POST",
  headers: {
    Accept: "application/json",
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ text }),
});

Implementation Pack

ts

The handoff is not just a pretty demo. It exports files that help a team wire the flow into telephony, Vapi, LiveKit, Twilio, or a contact-center runtime.

const files: ExportFile[] = [
  { path: "ivr-flow.json", language: "json", content: JSON.stringify(flow, null, 2) },
  { path: "curl-examples.md", language: "markdown", content: buildCurlExamples(flow) },
  { path: "node-example.ts", language: "typescript", content: buildNodeExample(flow) },
  { path: "python-example.py", language: "python", content: buildPythonExample(flow) },
  { path: "pronunciation-checklist.md", language: "markdown", content: buildPronunciationChecklist(flow) },
];

Project Logic

Why This Exists

The useful part is the path: what was broken, what I built, and where the leverage showed up.

Mission

Can a buyer understand the value of a voice model faster if the demo behaves like a real IVR workflow instead of a static audio sample?

Voice AI sales can get trapped in abstraction: impressive voices, but not enough context for a buyer to imagine their own call paths, compliance needs, routing choices, terminology, or implementation handoff.

Build

What Had To Work

I built a browser studio with industry starter flows, editable IVR prompts, Arcana and Mist v3 voice selection, Rime audio generation, pronunciation coverage checks, caller-path simulation, lead capture, and export-pack generation with JSON, cURL, Node, Python, environment, and rollout notes.

Why It Matters

Build -> hear -> route -> export

Turns abstract TTS capability into a buyer-ready preview flow with audio, routing, pronunciation checks, and implementation assets.

Hard Parts

Voice demos need buyer context

A strong TTS sample is not enough for an IVR buyer. The demo had to show call flow, routing, terminology, deployment constraints, and what implementation would actually require.

Audio generation cannot block the story

The app generates clips in parallel, limits prompt size, caches results, and keeps a mock-audio path available so the product story still works without production credentials.

The output has to survive the demo

The export pack gives solutions and engineering teams a concrete artifact to review after the conversation, which is where many polished demos usually go thin.

Decisions

Use industry templates so buyers start from a recognizable workflow.
Pair audio generation with pronunciation coverage instead of treating voice quality as subjective only.
Export implementation files so the demo becomes a deployment conversation.
Keep production call routing out of scope and make the README explicit that Rime provides the TTS voice layer.

Proof

Prototype artifact with inspectable product surface, implementation details, and proof points.

LOC: 3.7k+

Source files: 11

API routes: 4

Editable IVR flow builder

Healthcare, finance, restaurant, telecom, and insurance starter flows

Rime Arcana and Mist v3 voice selection

View Website

Tell Me About Your Project

Bring Me The Bottleneck.
I’ll Build The Answer.

Tell me what people are trying to do, where the current path breaks, and what kind of useful answer should exist.

Market Gap

Demand exists, but the answer is missing.

Workflow Drag

The work is still too manual, slow, or scattered.

Product Wedge

A small surface could prove the larger opportunity.

Quick Note