Practice job interviews with AI that understands what it takes to succeed in today's evolving job market.
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.
- ποΈ 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
- 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
- Node.js 20+
- Docker & Docker Compose
- Google Cloud account (for AI services)
- Clerk account (authentication)
- Stripe account (payments)
-
Clone the repository
git clone https://github.com/yourusername/vocahire.git cd vocahire -
Set up environment variables
cp .env.example .env.local # Edit .env.local with your credentials -
Start development environment
make dev-build # First time setup make dev # Start services
The app will be available at
http://localhost:3001 -
Run database migrations
make migrate
make dev # Start development server
make test # Run tests
make studio # Open Prisma Studio
make shell # Container shell
make help # Show all commandsβββββββββββββββ ββββββββββββββββ βββββββββββββββ
β Next.js ββββββΆβ Cloud Run ββββββΆβ Gemini API β
β Client β β Backend β β (Audio) β
βββββββββββββββ ββββββββββββββββ βββββββββββββββ
β
ββββββββ΄βββββββ
β β
βββββββΌβββββ ββββββΌββββββ
β PostgreSQLβ β Redis β
β (RDS) β β (Cache) β
ββββββββββββ ββββββββββββ
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
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.
- Create a feature branch
- Make your changes
- Run tests:
make test - Submit a pull request
- TypeScript with strict mode enabled
- Prettier for formatting
- ESLint for linting
- Conventional commits
VocaHire runs on Google Cloud Run for automatic scaling and high availability:
npm run build # Production build
gcloud run deploy # Deploy to Cloud RunSee CLOUD_RUN_DEPLOYMENT_GUIDE.md for detailed deployment instructions.
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://...# Unit tests
npm test
# E2E tests (coming soon)
npm run test:e2e
# Type checking
npm run typecheck- π§ Email: support@vocahire.com
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
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