Associated with Testlify

Testlify - Voice & Video AI Question Authoring

Built the recruiter-facing UI for authoring voice, video, and chat AI interview questions inside Testlify's assessment builder, including AI prompt setup, competency scoring, and TTS voice selection.

Testlify is a skills assessment and interviewing platform. Inside its recruiter-facing test builder, I built the UI for authoring three AI-driven question types, voice, video, and chat simulation, that recruiters use to configure automated candidate assessments: recording-time limits, AI prompt setup, competency scoring, and text-to-speech voice selection.

What I built

  • Voice AI question authoring: Built the UI for configuring voice-based AI interview questions in the test builder, recording limits, AI prompt setup, and competency scoring.
  • Question-builder integration: Integrated voice, video, and chat simulation question types into the recruiter's assessment-builder flow.
  • Styling and tooling: Contributed component styling for the voice/chat question UI, alongside repo tooling setup (ESLint, Husky, Renovate, Tailwind config).

Why it mattered

Voice, video, and chat AI questions are how recruiters configure Testlify's automated interview assessments. This work made those question types configurable and consistent within the same shared design system used across Testlify's product suite.

A Small Contribution, Inside a Massive Codebase

This repo is Testlify's recruiter/admin dashboard: 16,216 commits, dozens of contributors, running since September 2021. My own commits are 86 of those, about half a percent, over roughly a year and a half. Most of that count sits in a component-library git submodule, the same shared Vue design system already covered as its own case study; outside that submodule, the real work is a focused set of files: the voice question modal, the interview-questions view that wires question types into the builder, and the styling and tooling around them.

What "Multi-Modal AI Interview" Actually Means Here

This app is the recruiter side of the product: where a recruiter configures what an AI-driven question actually asks, not where a candidate answers it live. Voice, video, and chat simulation are question types a recruiter sets up in the test builder, each with its own recording-time limit, AI prompt, competency-scoring rubric, and (for voice) a choice of text-to-speech voice. The candidate-facing interview experience that takes those configured questions live runs in a separate application elsewhere in Testlify's stack.

Data Model & Scale

  • 16,216 commits across 4+ years, with a top contributor alone responsible for over 1,800 of them, a genuinely large, long-running team codebase, not a small project.
  • The shared component library is consumed as a git submodule rather than copy-pasted or forked, keeping this app on the same versioned design system as Testlify's other three products.

Stack

Vue 3, TypeScript, Vuex for state, Vite, the shared Testlify component library as a git submodule, ESLint, Husky, Renovate for dependency updates, Tailwind CSS.