InterviewIQ is an AI-powered interview preparation platform designed to help students and professionals practice job interviews with intelligent voice agents. The platform provides personalized interview simulations, instant feedback, and analytics to boost confidence and readiness for real-world interviews.
https://interview-iq-psi.vercel.app
InterviewIQ is a full-stack web application built with Next.js, Firebase, and advanced AI integrations. The system is modular, scalable, and optimized for real-time interaction and feedback.
Frontend:
- Next.js (React) for SSR and fast navigation.
- Tailwind CSS and shadcn/ui for modern, responsive UI.
- Authentication and interview management via React context and components.
Backend:
- Firebase for authentication, database, and storage.
- Next.js API routes for interview creation, feedback, and user management.
AI Integration:
- Vapi AI Voice Agents for voice-based interview simulation.
- Google Gemini for advanced AI feedback and transcript analysis.
Data Flow:
- User signs up/signs in via Firebase Authentication.
- User creates a mock interview session; questions are generated or selected.
- The interview is conducted via a voice agent (Vapi AI), with real-time transcript and feedback.
- Feedback and analytics are stored in Firebase and displayed in the user dashboard.
- Secure authentication and user management
- Voice-based AI interview simulation
- Real-time feedback and transcript analysis
- Dashboard for tracking interview history and progress
- Responsive design for desktop and mobile
/app: Next.js app directory (routing, pages, API)/components: Reusable React components (UI, forms, interview cards)/lib: Utility functions, API integrations, and business logic/firebaseConfig: Firebase client and admin setup/public: Static assets (images, icons)/typeDefinitions: TypeScript type definitions
Create a .env file in the root directory with the following keys:
| Key | Description |
|---|---|
| NEXT_PUBLIC_VAPI_WEB_TOKEN | Vapi AI web token for voice agent integration |
| NEXT_PUBLIC_VAPI_WORKFLOW_ID | Vapi workflow ID for interview sessions |
| GOOGLE_GENERATIVE_AI_API_KEY | Google Gemini API key for AI feedback |
| NEXT_PUBLIC_BASE_URL | Base URL of the application (e.g., http://localhost:3000/) |
| NEXT_PUBLIC_FIREBASE_API_KEY | Firebase API key for client-side SDK |
| NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN | Firebase Auth domain |
| NEXT_PUBLIC_FIREBASE_PROJECT_ID | Firebase project ID |
| NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET | Firebase storage bucket |
| NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID | Firebase messaging sender ID |
| NEXT_PUBLIC_FIREBASE_APP_ID | Firebase app ID |
| NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID | Firebase analytics measurement ID |
| FIREBASE_PROJECT_ID | Firebase project ID for admin SDK |
| FIREBASE_CLIENT_EMAIL | Firebase admin client email |
| FIREBASE_PRIVATE_KEY | Firebase admin private key (use \n for line breaks) |
- Clone the repository
- Install dependencies
npm install
- Set up Firebase and environment variables
- Create a Firebase project and enable Authentication and Firestore.
- Add your credentials to
.envas described above.
- Run locally
npm run dev
-
Sign Up:
New users register using their email and password. -
Log In:
Users log in to access their dashboard and interview history. -
Create Interview Session:
Users select role, level, tech stack, and interview style, then start a new interview. -
Interview Simulation:
The Vapi AI voice agent conducts the interview, asking questions generated by Google Gemini. -
Feedback & Analytics:
After the interview, Gemini analyzes the transcript and provides detailed feedback and scores, which are saved and shown in the dashboard.
- Modular Components: UI and logic are split into reusable components for maintainability.
- Serverless Functions: Next.js API routes handle backend logic, making deployment easy.
- AI-Driven Feedback: Google Gemini provides nuanced, category-based feedback for each interview.
- Voice Interaction: Vapi AI enables realistic, voice-based interview practice.
- Security: Sensitive keys are stored in
.envand never exposed in the frontend.
InterviewIQ can be deployed on Vercel or any platform supporting Next.js and Firebase.
MIT
- Clone the repository
- Install dependencies (
npm install) - Set up Firebase and environment variables
- Run locally (
npm run dev)
MIT