AI product · Interview preparation · Full-stack
InterviewAI
An interview-preparation platform that turns a candidate profile and target job description into a structured interview blueprint, preparation roadmap, gap analysis, and ATS-oriented resume PDF.
Overview
An interview-preparation platform that turns a candidate profile and target job description into a structured interview blueprint, preparation roadmap, gap analysis, and ATS-oriented resume PDF.
System architecture
A high-level view of the components and boundaries described by the project source and documentation.
User and data flow
Upload a PDF/DOCX resume or write a profile and add a job description
Generate match score, skills gaps, and role-specific content
Review questions, model answers, DSA patterns, and a 14-day plan
Return to saved reports or generate an ATS-oriented resume PDF
Product capabilities
Personalized interview blueprint
- Compare a candidate resume or self-description with the target role description.
- Create a circular candidate/job match score and a prioritized gap and vulnerability analysis with practical pivot suggestions.
- Generate eight specialized technical questions with interviewer intent and model answers, plus eight tailored STAR-method behavioral questions.
Preparation plan and DSA practice
- Produce a day-by-day 14-day interview preparation roadmap.
- Build a DSA pattern guide covering common structures such as BFS/DFS, two pointers, trees, heaps, sliding window, and dynamic programming.
- Attach role-relevant practice problems, conceptual strategies, and links for continued practice.
Resume and report workflow
- Compile a one-page, ATS-oriented resume as styled HTML/CSS and use Puppeteer to produce an A4 PDF for download.
- Save generated reports for later review, search report history, and delete completed reports.
- Protect report and profile workflows with authenticated frontend routes and JWT-guarded backend endpoints.
Data model and domain
Candidate reports
A signed-in user can create and revisit interview reports; each report's structured data drives the blueprint UI and optional resume PDF.
Fast data retrieval and page delivery
This portfolio case study is statically generated at build time, so opening it does not wait for a case-study API or database query. The notes below describe the project's own data path; they distinguish implemented behavior from scale-up opportunities.
Separate report list and detail
The documented API separates a user's report history from fetching a specific report, so clients can load the overview and request full blueprint detail through distinct endpoints.
Authenticated report access
JWT-protected report routes scope saved interview material to a signed-in user; resume PDFs are generated on demand rather than stored as a repeated report payload.
Scale-up consideration
The documented history endpoint does not specify pagination or a report-list index. Add bounded pagination and indexes matching owner plus creation-time queries as report volume grows; no retrieval benchmark is published.
HTTP API surface
Authentication
POST /api/auth/register · POST /api/auth/login · GET /api/auth/me
Interview reports
POST /api/interview/ · GET /api/interview/ · GET /api/interview/report/:interviewId · POST /api/interview/delete-report/:interviewId
Resume export
POST /api/interview/resume/pdf/:interviewReportId
Engineering decisions
AI output boundary
The README describes structured generation with schema validation so the frontend receives predictable report sections rather than an unbounded free-form response.
Provider integration
Groq-hosted Llama 3.3 70B is documented for fast blueprint generation, with Google GenAI also listed as an integrated provider.
Document rendering
Puppeteer renders a styled HTML/CSS resume in a headless browser and streams an A4 PDF back for download.
Separation of concerns
The repository separates React feature areas, Express controllers/routes, authentication middleware, persistence models, and AI/PDF services.
Setup and delivery
- Install backend and frontend dependencies separately; configure MongoDB and the backend JWT/AI credentials, then point the Vite client to the API URL.
- The README documents a local frontend at the Vite development URL and a separately running Express server.
- Separate backend and frontend Dockerfiles exist, providing independent Node.js runtime environments for the two application layers.
Technology
Explore the project
Open the project links above to review its source, documentation, or available deployment.

