Skip to content

Profusion-AI/v0-vocahire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VocaHire - AI-Powered Interview Practice Platform

Cloud Run TypeScript Next.js

Practice job interviews with AI that understands what it takes to succeed in today's evolving job market.

Overview

VocaHire provides realistic interview simulations powered by Google's Gemini AI, helping job seekers build confidence and improve their interview skills. In an era where AI is reshaping the workforce, we believe AI should also be a tool for empowermentβ€”helping people navigate career transitions and land their next opportunity.

Key Features

  • πŸŽ™οΈ Real-time Voice Conversations - Natural speech-to-speech interviews with <1.5s latency
  • 🧠 Adaptive AI Interviewer - Powered by Gemini 2.5 Flash with native audio understanding
  • πŸ“Š Detailed Feedback - Get actionable insights on your responses, filler words, and areas for improvement
  • 🎯 Multiple Interview Types - Behavioral, Technical, Leadership, and General interviews
  • πŸ’³ Flexible Credit System - Pay-as-you-go with 3 free credits to start
  • πŸ”’ Privacy-First - Your interview data is yours; we don't train on user conversations

Tech Stack

  • Frontend: Next.js 15.2 (App Router), TypeScript, Tailwind CSS
  • AI/ML: Google Gemini 2.5 Flash (native audio), Genkit
  • Infrastructure: Google Cloud Run, Cloud SQL (PostgreSQL), Redis
  • Authentication: Clerk
  • Payments: Stripe
  • Real-time: WebRTC for low-latency audio streaming

Getting Started

Prerequisites

  • Node.js 20+
  • Docker & Docker Compose
  • Google Cloud account (for AI services)
  • Clerk account (authentication)
  • Stripe account (payments)

Local Development

  1. Clone the repository

    git clone https://github.com/yourusername/vocahire.git
    cd vocahire
  2. Set up environment variables

    cp .env.example .env.local
    # Edit .env.local with your credentials
  3. Start development environment

    make dev-build  # First time setup
    make dev        # Start services

    The app will be available at http://localhost:3001

  4. Run database migrations

    make migrate

Quick Commands

make dev        # Start development server
make test       # Run tests
make studio     # Open Prisma Studio
make shell      # Container shell
make help       # Show all commands

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Next.js   │────▢│  Cloud Run   │────▢│ Gemini API  β”‚
β”‚   Client    β”‚     β”‚   Backend    β”‚     β”‚   (Audio)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
                    β”‚             β”‚
              β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
              β”‚ PostgreSQLβ”‚  β”‚  Redis   β”‚
              β”‚    (RDS)  β”‚  β”‚ (Cache)  β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Project Structure

vocahire/
β”œβ”€β”€ app/              # Next.js app directory
β”‚   β”œβ”€β”€ api/          # API routes
β”‚   β”œβ”€β”€ interview-v2/ # Interview interface
β”‚   └── (auth)/       # Authentication pages
β”œβ”€β”€ components/       # Reusable React components
β”œβ”€β”€ lib/              # Utilities and integrations
β”œβ”€β”€ prisma/           # Database schema
└── scripts/          # Build and deployment scripts

Contributing

We welcome contributions! Whether you're fixing bugs, improving documentation, or proposing new features, your input helps make interview practice accessible to everyone navigating career changes.

Development Workflow

  1. Create a feature branch
  2. Make your changes
  3. Run tests: make test
  4. Submit a pull request

Code Style

  • TypeScript with strict mode enabled
  • Prettier for formatting
  • ESLint for linting
  • Conventional commits

Deployment

VocaHire runs on Google Cloud Run for automatic scaling and high availability:

npm run build          # Production build
gcloud run deploy      # Deploy to Cloud Run

See CLOUD_RUN_DEPLOYMENT_GUIDE.md for detailed deployment instructions.

Environment Variables

Key environment variables needed:

# Database
DATABASE_URL=postgresql://...

# Google Cloud
GOOGLE_PROJECT_ID=your-project-id

# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_...
CLERK_SECRET_KEY=sk_...

# Payments (Stripe)
STRIPE_SECRET_KEY=sk_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_...

# Redis
REDIS_URL=redis://...

Testing

# Unit tests
npm test

# E2E tests (coming soon)
npm run test:e2e

# Type checking
npm run typecheck

Support

License

MIT License - see LICENSE for details


Built with ❀️ to help people thrive in the age of AI

VocaHire - Where AI helps you land your next opportunity

About

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •