Skip to content

prachitbhike/dryrun

Repository files navigation

DryRun

AI-powered VC pitch practice platform where founders conduct real-time voice conversations with AI-simulated venture capitalists.

Features

  • Real-time Voice Conversations: Practice your pitch with AI VCs using natural voice interaction powered by OpenAI's Realtime API
  • Customizable VC Personas: Choose from preset personas or create custom VCs with configurable personality traits
  • 8 Personality Dimensions: Aggression, supportiveness, metrics focus, vision focus, interruption frequency, question depth, skepticism, and patience
  • 5 Firm Archetypes: Angel, Seed VC, Series A, Growth Equity, and Corporate VC
  • AI-Powered Feedback: Get detailed analysis of your pitch across 9 scoring dimensions after each session
  • Session History: Review past sessions with full transcripts and feedback

Tech Stack

  • Framework: Next.js 16 (App Router) with TypeScript
  • Frontend: React 19, Tailwind CSS, Lucide icons, Recharts
  • Backend: Next.js API Routes, OpenAI SDK
  • Database: Supabase (PostgreSQL + Auth)
  • Real-time Voice: WebRTC via OpenAI Realtime API
  • Validation: Zod

Getting Started

Prerequisites

  • Node.js 18+
  • Supabase account
  • OpenAI API key with Realtime API access

Environment Setup

Create a .env.local file in the project root:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_key
SUPABASE_SECRET_KEY=your_supabase_service_role_key
OPENAI_API_KEY=your_openai_api_key

Supabase Configuration

  1. Create a new Supabase project
  2. Run the database migrations (see supabase/migrations/)
  3. Enable Google OAuth in Authentication > Providers > Google
  4. Add your OAuth credentials from the Google Cloud Console

Installation

# Install dependencies
npm install

# Run development server
npm run dev

# Build for production
npm run build

# Start production server
npm start

Project Structure

app/
├── (auth)/              # Public routes (login, signup)
├── (dashboard)/         # Protected routes
│   ├── dashboard/       # Main dashboard
│   ├── practice/        # Voice practice sessions
│   ├── personas/        # VC persona management
│   ├── sessions/        # Session history & feedback
│   └── settings/        # User settings
└── api/
    ├── auth/            # OAuth callback
    ├── personas/        # Persona CRUD
    ├── realtime/        # WebRTC token generation
    └── sessions/        # Session & feedback endpoints

components/
├── practice/            # Voice session UI components
├── personas/            # Persona management components
└── ui/                  # Shared UI components

hooks/
├── useRealtimeSession.ts   # WebRTC + OpenAI Realtime management
└── useTokenPrewarm.ts      # Token pre-warming for faster connections

lib/
├── supabase/            # Supabase client utilities
├── personas/            # Prompt generation
└── utils.ts             # Shared utilities

How It Works

Voice Session Flow

  1. User selects a VC persona
  2. Token is pre-warmed in the background for faster connection
  3. User clicks "Start Session" - WebRTC connection established via OpenAI Realtime API
  4. Real-time voice conversation with AI VC
  5. Session ends - transcript saved and analyzed by GPT-4o
  6. User receives structured feedback with scores

Persona System

Each VC persona has:

  • Personality Traits (0-1 scale): Controls conversation style and behavior
  • Firm Archetype: Determines investment focus and typical questions
  • Focus Areas: Specific topics the VC cares about
  • Voice Style: OpenAI voice for audio output

Database Schema

Table Description
user_profiles User info (display name, company, industry)
vc_personas AI persona configurations
pitch_sessions Practice session records
session_messages Conversation transcripts
session_feedback AI-generated feedback and scores

Scripts

npm run dev      # Development server with Turbopack
npm run build    # Production build
npm run lint     # ESLint
npm start        # Production server

License

Private - All rights reserved

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published