Inspiration

We've all been there: the night before a big interview, desperately trying to practice with friends who are either too nice to give honest feedback or too busy to help. Traditional interview prep is time-consuming, expensive, and often ineffective. You can't practice at 2 AM when anxiety hits. You can't afford multiple mock interview sessions with career coaches. And rehearsing alone in front of a mirror just doesn't replicate the pressure of a real interview. What if you could practice interviews anytime, with any type of interviewer, and get instant, brutally honest feedback? We wanted to democratize interview preparation by creating an AI-powered platform that simulates realistic interview experiences with multiple personas, provides real-time voice interactions, and delivers actionable feedback to help job seekers land their dream roles.

What it does

Rehearse is an AI-powered interview practice platform that creates realistic, voice-based interview simulations with customizable AI personas. Think of it as having a panel of expert interviewers available 24/7, ready to grill you on technical skills, behavioral questions, or anything in between.

Key Features

Voice-Based Interview Simulations

  • Natural, human-like conversations powered by ElevenLabs voice synthesis
  • Practice speaking your answers out loud, just like real interviews
  • Audio transcription and analysis of your responses

Multiple AI Personas

  • Choose from diverse interviewer types: Technical leads, HR professionals, behavioral experts
  • Each persona has unique questioning styles, focus areas, and personalities
  • Practice with 1-6 personas simultaneously for panel interview scenarios

Ultra-Low Latency Feedback

  • Powered by Cerebras inference for near-instant AI responses
  • Real-time scoring on confidence, clarity, and relevance
  • Get feedback immediately after each response

Detailed Analytics Dashboard

  • Track your performance over time
  • Identify strengths and areas for improvement
  • View response breakdowns with specific feedback for each answer

Document-Based Interviews

  • Upload your resume for personalized, role-specific questions
  • AI analyzes your background to generate tailored interview scenarios

Flexible Practice Modes

  • Practice Mode: Low-pressure environment for skill building
  • Graded Mode: Realistic assessment with detailed scoring

Launch-Ready Production Features

  • WorkOS authentication for secure user management
  • Stripe integration for subscription payments (Basic, Pro, Enterprise tiers)
  • Free trial support for new users
  • Comprehensive admin dashboard for platform management

How we built it

Architecture Overview

The Rehearse application uses a modern, scalable architecture:


                                      ┌─────────────────────────────────┐
                                      │      User Browsers              │
                                      └───────────┬─────────────────────┘
                                                  │
                                      ┌───────────┴─────────────┐
                                      │                         │
                           ┌──────────▼──────────┐   ┌─────────▼─────────┐
                           │   Netlify (Main)    │   │  Vultr (Admin)    │
                           │   - Interview UI    │   │  - Admin Panel    │
                           │   - Practice Mode   │   │  - Analytics      │
                           │   - User Dashboard  │   │  - User Mgmt      │
                           └──────────┬──────────┘   └─────────┬─────────┘
                                      │                         │
                                      └───────────┬─────────────┘
                                                  │
                                      ┌───────────▼─────────────┐
                                      │   Raindrop Backend      │
                                      │   - REST API            │
                                      │   - WebSocket Server    │
                                      │   - Business Logic      │
                                      └───┬─────────┬───────┬───┘
                                          │         │       │
                      ┌───────────────────┼─────────┼───────┼──────────────────┐
                      │                   │         │       │                  │
           ┌──────────▼────────┐  ┌──────▼───┐  ┌──▼───────▼──┐  ┌───────────▼──────────┐
           │  Raindrop         │  │ WorkOS   │  │  Cerebras   │  │    ElevenLabs        │
           │  SmartSQL (D1)    │  │ - SSO    │  │  - AI       │  │    - TTS Voices + Scribe STT      │
           │  - User Data      │  │ - Auth   │  │  - Question │  │    - Voice Synth     │
           │  - Sessions       │  │ - Orgs   │  │    Gen      │  │    - Audio Streaming │
           │  - Transcripts    │  │          │  │  - Analysis │  │                      │
           │  - Analytics      │  │          │  │             │  │                      │
           └───────────────────┘  └──────────┘  └─────────────┘  └──────────────────────┘
                      │
           ┌──────────▼────────┐
           │   Stripe          │
           │   - Payments      │
           │   - Subscriptions │
           │   - Billing       │
           └───────────────────┘


  ┌─────────────────────────────────────────────────────────────────────────┐
  │                          Data Flow                                       │
  ├─────────────────────────────────────────────────────────────────────────┤
  │                                                                           │
  │  1. Authentication: User → Frontend → Raindrop → WorkOS                 │
  │                                                                           │
  │  2. AI Interviews: User → Frontend → Raindrop → Cerebras                │
  │                    (Questions/Analysis) → Raindrop → Frontend            │
  │                                                                           │
  │  3. Voice Response: Raindrop → ElevenLabs → Audio Stream → Frontend     │
  │                                                                           │
  │  4. Payments: User → Frontend → Raindrop → Stripe → Webhook →           │
  │               Raindrop → SmartSQL (Update subscription)                  │
  │                                                                           │
  │  5. Data Storage: All interactions → Raindrop → SmartSQL (D1)           │
  │                                                                           │
  └─────────────────────────────────────────────────────────────────────────┘

Components:

  1. Main Frontend (Netlify)

    • User-facing React application
    • Interview practice interface
    • Session management and analytics
  2. Admin Panel (Vultr)

    • Separate admin dashboard
    • Database management
    • System monitoring
  3. Backend API (Raindrop)

    • RESTful API
    • SmartBucket for documents
    • SmartSQL for database
    • SmartMemory for AI context

Core Infrastructure - LiquidMetal AI Raindrop Platform

We built Rehearse entirely on the Raindrop Platform, leveraging its powerful Smart Components:

  • SmartSQL: SQLite database on Cloudflare D1 for user data, interviews, sessions, and responses
  • SmartMemory: Persistent conversation memory for maintaining context across interview sessions
  • SmartBuckets: Document storage for uploaded resumes and files
  • SmartInference: Integration point for Cerebras AI inference

Vultr Services Integration

We deployed our admin dashboard on Vultr VPS (IP: 216.155.142.123) using Docker containerization:

  • Infrastructure: Vultr Cloud Compute instance
  • Deployment: Docker containers with Nginx reverse proxy
  • CI/CD: Automated deployment pipeline via Docker Hub
  • Monitoring: Real-time system health checks

AI & Voice Stack

  • Cerebras Cloud SDK: Ultra-low latency AI inference for question generation and feedback analysis
  • ElevenLabs: Premium voice synthesis with 6 diverse voices (male/female options)
  • Custom Prompt Engineering: Sophisticated persona system with questioning styles and focus areas

Frontend Architecture

  • Main App: React 18 + TypeScript + Vite, deployed on Netlify
  • Admin Dashboard: Separate React app with full CRUD operations for user and persona management
  • State Management: TanStack React Query for server state
  • UI/UX: Tailwind CSS with Lucide icons for modern, accessible design

Backend Services

  • Framework: Cloudflare Workers via Raindrop
  • Authentication: WorkOS AuthKit with OAuth flow
  • Payments: Stripe for subscription management
  • API Design: RESTful endpoints with proper separation of user and admin routes

Development Tools

We used Claude Code (AI coding assistant) throughout development to:

  • Scaffold the Raindrop application structure
  • Implement complex features like multi-persona interviews
  • Debug deployment issues
  • Optimize database queries

Challenges we ran into

Multi-Persona Interview Orchestration

Managing conversations with multiple AI personas simultaneously while maintaining context and turn order wascomplex.

Solution: Leveraged Raindrop's SmartMemory to persist conversation state and implemented a turn-based system where personas take turns asking questions based on their assigned turn order.

Real-Time Voice Feedback

Achieving low latency for voice transcription → AI analysis → feedback generation was critical for user experience.

Solution: Used Cerebras inference for ultra-fast AI processing (sub-second responses) and optimized our API pipeline to minimize round trips.

Accomplishments that we're proud of

Fully Deployed, Production-Ready Platform

Comprehensive Admin Dashboard

  • Full CRUD operations for persona management with beautiful UI modals
  • User management with search, filtering, and subscription control
  • System analytics with revenue tracking and user activity logs
  • Real-time system health monitoring

Ultra-Low Latency AI Responses

  • Cerebras inference delivers feedback in milliseconds
  • Seamless voice interactions that feel natural and responsive
  • No noticeable lag between user responses and AI questions

Sophisticated Persona System

  • Pre-configured voices from ElevenLabs
  • 6 questioning styles (Direct, Conversational, Technical, Behavioral, Challenging, Supportive)
  • 10 focus areas covering technical and soft skills
  • Admins can create custom personas on-the-fly

Enterprise-Grade Authentication & Payments

  • WorkOS OAuth for secure, scalable authentication
  • Stripe integration with multiple subscription tiers
  • Free trial support
  • Proper session management and authorization

Detailed Analytics & Feedback

  • Multi-dimensional scoring (confidence, clarity, relevance)
  • Per-question feedback with AI-generated insights
  • Historical performance tracking
  • Response-level breakdowns

What we learned

  1. Raindrop Platform is Powerful: SmartSQL, SmartMemory, and SmartBuckets drastically simplified our backend architecture. What would have required complex infrastructure setup was handled by Raindrop's smart components.

  2. Cerebras is Blazingly Fast: The difference between Cerebras and traditional AI APIs is night and day. Sub-second response times make voice interactions feel genuinely real-time.

  3. Docker + Vultr = Scalable Deployment: Docker containerization combined with Vultr's infrastructure made it easy to deploy and scale our admin dashboard independently.

  4. AI Coding Assistants Accelerate Development: Claude Code helped us ship features 3-4x faster, especially for complex features like persona CRUD operations and OAuth flows.

  5. Build Locally, Deploy Remotely: Pre-building Docker images locally and pushing to a registry is far more efficient than building on the server.

  6. Netlify is super cool: This was my first time using Netlify and i was impressed by the ease of deployment of the Rehearse frontend. I even got an ssl ready domain for the app out of the box.

What's next for Rehearse

  1. Mobile App: Build native iOS/Android apps for on-the-go practice
  2. More Personas: Add pre-configured personas covering industry-specific roles
  3. Interview Types: Add coding interviews with live code execution and review
  4. Custom Scenarios: Let users create custom interview scenarios and question sets

Rehearse isn't just another interview prep tool — it's your AI-powered practice partner that helps you walk into every interview with confidence. The best preparation happens when you can practice anytime, anywhere, with Rehearse.

Built With

  • cerebras-ai
  • claude-code
  • docker
  • elevenlabs-tts
  • elevenlabs-voices
  • netlify
  • nginx
  • raindrop
  • react
  • stripe-payments
  • typescript
  • vite
  • vultr-compute
  • workos-auth-kit
Share this project:

Updates