VerQ is an AI-powered mock interview platform that generates personalized interview questions based on a user's resume and target role, captures voice responses, and provides AI feedback.
- Resume-based interview question generation
- Voice response recording and transcription
- AI-powered feedback and evaluation
- Real-time interview experience
- Multiple AI model support (OpenAI GPT-4, Google Gemini)
- Text-to-speech capabilities
- React + Vite
- Tailwind CSS
- Framer Motion
- React Router
- Firebase Authentication
- Web Speech API
- Node.js + Express
- MongoDB
- Google Gemini API
- Deepgram API
- Firebase Admin SDK
verq/
├── frontend/ # React frontend application
├── backend/ # Node.js backend server
├── PLANNING.md # Project planning and roadmap
└── TASKS.md # Task tracking and management
Create a .env
file in the backend
directory (verq/backend/.env
):
# Server Configuration
PORT=3000
NODE_ENV=development
# Database Configuration
MONGODB_URI=your_mongodb_connection_string
# JWT Configuration
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRES_IN=24h
# File Upload Configuration
UPLOAD_DIR=uploads
MAX_FILE_SIZE=5242880 # 5MB in bytes
# AI Configuration
OPENAI_API_KEY=your_openai_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
DEEPGRAM_API_KEY=your_deepgram_api_key_here
# Firebase Admin SDK Configuration
FIREBASE_TYPE=service_account
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_PRIVATE_KEY_ID=your_private_key_id
FIREBASE_PRIVATE_KEY="your_private_key_here"
FIREBASE_CLIENT_EMAIL=your_client_email
FIREBASE_CLIENT_ID=your_client_id
FIREBASE_AUTH_URI=https://accounts.google.com/o/oauth2/auth
FIREBASE_TOKEN_URI=https://oauth2.googleapis.com/token
FIREBASE_AUTH_PROVIDER_X509_CERT_URL=https://www.googleapis.com/oauth2/v1/certs
FIREBASE_CLIENT_X509_CERT_URL=your_client_x509_cert_url
Create a .env
file in the frontend
directory (verq/frontend/.env
):
# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id
# API Configuration
VITE_API_BASE_URL=http://localhost:3000
-
Google Gemini API Key:
- Visit Google AI Studio
- Create a new API key
- Add the key to
backend/.env
asGEMINI_API_KEY
-
Deepgram API Key:
- Visit Deepgram Console
- Create an account and generate an API key
- Add the key to
backend/.env
asDEEPGRAM_API_KEY
-
Firebase Configuration:
- Create a project in Firebase Console
- Add a web app to your project
- Copy the configuration object
- Add the values to both
frontend/.env
andbackend/.env
- For backend, download the service account key and add its values to
backend/.env
-
MongoDB Connection String:
- Create a cluster in MongoDB Atlas
- Get the connection string
- Add it to
backend/.env
asMONGODB_URI
-
Navigate to the backend directory:
cd backend
-
Install dependencies:
npm install
-
Create and configure the
.env
file as described above -
Start the backend server:
npm run dev
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Create and configure the
.env
file as described above -
Start the development server:
npm run dev
npm start
- Start the production servernpm run dev
- Start the development server with auto-reloadnpm run test-pdf
- Test PDF processing functionalitynpm run extract-pdf
- Extract text from PDFnpm run test-tts
- Test text-to-speech functionalitynpm run generate-question-tts
- Generate question and convert to speechnpm run interview
- Run the interview workflow
npm run dev
- Start the development servernpm run build
- Build for productionnpm run lint
- Run ESLintnpm run preview
- Preview production buildnpm test
- Run testsnpm run test:watch
- Run tests in watch modenpm run test:coverage
- Generate test coverage report
POST /api/resume
- Submit resume text and job rolePOST /api/questions
- Generate interview questionsPOST /api/answers
- Submit voice answer transcriptPOST /api/feedback
- Get AI evaluation of answer
This project is licensed under the ISC License - see the LICENSE file for details.
- Google for Gemini API
- Deepgram for Text-to-Speech API
- Firebase for Authentication and Storage
- MongoDB for Database