An AI-powered interview practice platform that uses voice interactions to help candidates prepare for job interviews. Built with Next.js, TypeScript, TailwindCSS, and OpenAI's GPT-4.
- Resume upload and parsing with Ragie AI:
- Intelligent document analysis
- Content extraction and indexing
- Semantic search capabilities
- Job description analysis
- Role-specific interview questions
- Real-time voice interactions with AI interviewer
- Volume visualization and audio feedback
- Comprehensive performance scoring
- Detailed feedback analysis including:
- Technical knowledge assessment
- Communication skills evaluation
- Problem-solving capability scoring
- Professional development recommendations
- Interview time management (8-minute sessions)
- Modern, responsive UI with dark mode support
- Clone the repository
- Install dependencies:
npm install
- Create a
.env.localfile in the root directory with the required API keys:# Vapi Configuration NEXT_PUBLIC_VAPI_API_KEY=your_vapi_api_key_here VAPI_ORG_ID=your_vapi_org_id_here VAPI_PRIVATE_KEY=your_vapi_private_key_here # Ragie Configuration RAGIE_API_KEY=your_ragie_api_key_here - Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
- Push your code to GitHub
- Connect your repository to Vercel
- Add your environment variables in your Vercel project settings:
NEXT_PUBLIC_VAPI_API_KEYVAPI_ORG_IDVAPI_PRIVATE_KEYRAGIE_API_KEY
- Deploy!
- Next.js 15.2+ (App Router)
- React 19
- TypeScript 5
- TailwindCSS 3.4
- shadcn/ui components
- Ragie AI for resume processing
- PDF.js for document parsing
- Vapi AI for voice interactions
- OpenAI GPT-4 for interview intelligence
- Radix UI primitives
- Lucide React icons
- React Hook Form for form management
- Zod for validation
- Next-themes for dark mode
app/
├── components/ # React components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions and API clients
├── api/ # API routes including Ragie integration
├── interview/ # Interview session page
├── feedback/ # Interview feedback page
└── page.tsx # Landing page
VapiClient: Handles voice interaction integrationFeedbackAnalysis: Processes and displays interview resultsVolumeIndicator: Real-time audio visualizationTranscriptDisplay: Shows interview transcriptionFileUpload: Handles resume upload and Ragie processing
- TailwindCSS for styling
- CSS variables for theme customization
- Responsive design patterns
- Dark mode support
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT