AI Interview Preparation Portal
A full-stack career preparation platform combining AI-powered interviews, ATS analysis, aptitude practice, coding preparation, and personalized feedback.

Overview
The project started with the idea of creating a realistic AI-powered interview simulator, but it evolved into a broader career preparation platform. The application now combines several parts of the job-preparation workflow: resume management, job-description storage, deterministic ATS analysis, AI-generated interview questions, interactive interview simulation, interview evaluation, aptitude tests, coding practice, resume optimization, application-email generation, and preparation analytics. The architecture separates frontend, backend services, AI workflows, and deterministic processing so each part of the platform can be extended independently.
Problem Solved
Brings multiple interview and job-preparation workflows into one platform by allowing candidates to manage resumes and job descriptions, analyze ATS compatibility, generate tailored interview questions, conduct AI-powered mock interviews, practice aptitude and coding, generate application emails, and track preparation progress.
Tech Stack
Architecture
The platform uses a client-server architecture with a Next.js/React frontend and a Python/Flask REST backend. The backend is organized into route, service, model, and utility layers. MongoDB stores user data, resumes, jobs, interviews, conversations, feedback, aptitude results, and ATS reports. Cloudinary is used for resume PDF storage. Gemini is integrated for AI-driven workflows such as interview question generation, interview simulation, feedback evaluation, structured resume processing, resume optimization, and application-email generation. Deterministic Python services handle ATS scoring and other rule-based processing.
Challenges Faced
Producing Relevant Interview Questions
The AI prompt explicitly uses the job description, resume, round type, and selected skills, while differentiating coding rounds from standard technical and HR rounds.
Keeping ATS Scoring Consistent
The final ATS score is generated through deterministic Python rules for skills, resume structure, contact information, impact signals, resume length, and grammar instead of asking the model to invent a score.
Processing Real Resume PDFs
Resume uploads are validated, stored in Cloudinary, parsed from PDF content, and converted into structured resume data. Poor extraction cases can fall back to AI-based PDF processing.
Maintaining Interview Context
The interview simulation receives the predefined question set, resume, job description, round name, and conversation content so the AI follows the intended interview flow instead of generating unrelated questions.
Managing Multiple Career-Preparation Workflows
The backend separates interview, aptitude, ATS, resume, job, feedback, conversation, dashboard, AI, authentication, and coding functionality into independent route and service modules.