Your voice-first AI interview coach. Get real-time, data-driven feedback on your spoken answers to role-specific questions, powered by Gemini AI and ElevenLabs TTS.
VoxInterview is a full-stack application designed to provide a realistic and effective mock interview experience. It addresses the common challenge of practicing spoken answers by integrating cutting-edge AI and voice technology. The system uses ElevenLabs for high-quality Text-to-Speech to ask questions and Google's Gemini AI to transcribe your audio response, analyze its content, and deliver immediate, actionable feedback. This is more than just a Q&A tool; it's a dedicated coach built to help developers and professionals refine their communication skills and boost confidence for their next technical interview.
This project is structured as a monorepo with a separate client (frontend) and server (backend).
| Component | Technology | Key Libraries/Frameworks |
|---|---|---|
| Frontend | JavaScript (React) | React (v19), Vite, react-dom |
| Backend | Node.js (Express) | Express, @google/generative-ai, axios, multer (for audio uploads), helmet |
| Core Services | AI & Voice APIs | Google Gemini API, ElevenLabs API |
| Development | Package Manager | npm |
The following instructions are optimized for a Linux environment (Ubuntu/Debian).
You must have Node.js (v16+) and npm installed.
-
Clone the repository
git clone https://github.com/RyanMaxiemus/VoxInterview.git cd VoxInterview -
Configure Environment Variables
Create a file named
.envin the root of theVoxInterviewdirectory and populate it with your API keys.# Server Configuration PORT=3000 NODE_ENV=development # API Keys ELEVENLABS_API_KEY="YOUR_ELEVENLABS_API_KEY" GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
-
Install Dependencies
Install dependencies for both the server and the client.
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install
-
Run the Application
You will need two separate terminal sessions: one for the server and one for the client.
Terminal 1: Start the Server
cd server npm start # Server will run on http://localhost:3000
Terminal 2: Start the Client
cd client npm run dev # Client will typically run on http://localhost:5173
Open your browser to the client URL (e.g.,
http://localhost:5173) to begin your mock interview.
Found a bug? Have an idea for a new feature or a better way to analyze an answer? We welcome all contributions!
- Open an Issue: Before submitting a Pull Request, please open an issue to discuss the bug or feature you're working on. This helps prevent duplicate work and ensures alignment with the project's goals.
- Fork and Branch: Fork the repository and create a new branch for your contribution.
- Code and Commit: Write clean, well-documented code. Commit messages should be descriptive and follow a conventional format (e.g.,
feat: add new role-specific questions). - Submit a PR: Submit a Pull Request against the
mainbranch. We'll review it as quickly as possible.
Let's make VoxInterview the best interview coach available, together.
