Full Stack AI Interview Helper
A real-time AI tool that simulates interviews and gives instant, personalized feedback.
Project Overview
PrepWise is a full-stack AI-powered platform designed to simulate realistic job interviews through both text and live voice. By leveraging OpenAI and Vapi workflows, users can engage in fully interactive, human-like interviews with real-time voice input and receive intelligent feedback based on their performance. The platform includes secure authentication, a progress dashboard, intuitive UX, and error monitoring — all wrapped in a fast, mobile-first design. Built for job seekers, PrepWise is a smart coaching assistant that levels up your interview game.
Technical Details
Technologies Used
Architecture & Infrastructure
Architecture: Full-stack web application with a React frontend, Express backend, and centralized Firebase Authentication handling user sessions and protected routes.
Database: Firebase Authentication (for user credentials); no traditional database was used for storing app-specific data in this version.
Hosting: Frontend hosted on Vercel with automatic CI/CD deployment from GitHub; backend API routes served through Vercel Serverless Functions.
APIs: OpenAI API – for generating AI-powered interview questions, Firebase Authentication – for secure user login and session management, Vapi – for live, voice-enabled AI interview simulations
Key Features
Human-Like AI Voice Interviews
Users speak naturally with an AI interviewer powered by Vapi workflows and receive dynamic feedback based on their responses.
AI-Generated Interview Simulations
Personalized and intelligent question sets tailored to different job domains using OpenAI's API.
Progress Tracking + Voice Feedback
A clean interface tracks progress over time and provides post-interview voice-based feedback to guide improvement.
Development Process
Planning
Identified a need for better AI-driven interview prep tools and mapped out core features like dynamic question generation, authentication, and user progress tracking. Designed wireframes and component structure.
Implementation
Built the frontend with React and Tailwind CSS, implemented Firebase Auth for secure login, set up OpenAI API calls in the backend using Express, and integrated Sentry for monitoring.
Testing
Manual testing across browsers and devices to ensure responsiveness and user flow; tested OpenAI responses for accuracy and edge cases in login/protected route flows.
Deployment
Used Vercel for continuous deployment from GitHub, with automatic rebuilds on code pushes. Backend routes deployed as serverless functions for scalability.
Challenges & Solutions
Generating High-Quality AI Questions
Initial prompts to the OpenAI API returned overly generic or vague questions, which reduced realism.
Solution:
Refined prompt engineering with structured templates and domain-specific keywords, which significantly improved the quality and relevance of generated questions.
Securing User Routes & Session Handling
Users could bypass frontend auth checks and attempt to access restricted routes directly.
Solution:
Integrated Firebase auth guards with route listeners and conditional rendering to ensure backend and frontend were in sync on auth state.
Future Improvements
- Expand interview coverage beyond developer roles to include domains like marketing, design, data science, and more.
- Introduce mock interviewer personas with varying tones (e.g. friendly, strict, formal) to simulate real-life scenarios.
- Add multilingual support for international users preparing for non-English interviews.
- Enable user-customized question difficulty levels or target areas (e.g. behavioral, technical, situational).