Interview Lab: AI-Powered Interview Preparation (MERN + Groq)
Live demo: https://ai-powered-interview-platform-hywork.vercel.app/
Overview
Interview Lab is a full-stack web application built with the MERN stack and the Groq API. It helps candidates prepare for interviews in a focused, role-specific way.
Paste a job description, optionally upload your resume, and get a structured report: a match score, the questions you're likely to be asked (with the intent behind each and how to answer), your skill gaps, and a five-day preparation plan. Then practise each answer out loud and get AI feedback. A Free plan covers occasional use; Pro and Premium are monthly subscriptions paid through Razorpay.
Problem Statement
- Interview preparation is often too generic.
- Candidates may not know which questions match a specific job description.
- There is no simple structured workflow for practicing against real roles.
Solution
The platform takes:
- Resume PDF text, if uploaded
- User self description
- Job description
Then the AI model (Groq) generates:
- Match score
- Technical interview questions
- Behavioral interview questions
- Suggested answers and the intent behind each question
- Skill gaps with severity
- Five-day preparation plan
Every response is validated against a strict schema before it reaches the user, and reports are saved in MongoDB for the logged-in user.
Features
Public landing page
- Live, in-browser job description markup demo, with no account needed: skills are highlighted, people skills underlined and recruiter phrases circled, each with a margin note
- Paste your own job description, or select any phrase to mark it yourself
Report
- Match score that counts up inside a hand-drawn ring that closes only as far as the score
- Skill gaps highlighted inside your own job description, each linked to the plan day that covers it
- Questions fold away until opened, so you can answer out loud first
- Five-day plan as a checklist with progress, saved to your account so it follows you across devices
- While the report generates, your job description is shown being read, with an elapsed timer
Practice mode
- Answer each question by typing or speaking (browser speech-to-text in Chrome/Edge), with a two-minute interview clock
- AI feedback on every answer: a 0-10 score, four criteria (structure, specificity, relevance, clarity), what worked, what to fix, and a stronger version of your answer
- Behavioral answers are judged with STAR in mind; attempts to game the grader score 0-1
- Question chips show your best score; re-drill mode brings back only the weak ones
- Every attempt is saved, so you can see last and best scores per question
Report history
- Every saved report in one ledger: match score, date, top gaps and plan progress
- Search, sort by date or score, and filter by plan progress
- Open any report again, or practise the same role with the job description pre-filled
Plans and payments (Razorpay)
- Three plans: Free, Pro (₹299/month) and Premium (₹699/month), each with a daily cap and a monthly allowance for reports and answer reviews
/pricing page with checkout through Razorpay (UPI, cards, e-mandate). Card details go straight to Razorpay and never reach our servers
- Monthly auto-renewing subscriptions. Paid allowances renew on the day the user is charged, not on the 1st
/billing page: current plan and usage, cancel (the plan stays until the period ends), resume, upgrade now or downgrade at period end, and payment history
- Checkout and webhook signatures checked with HMAC-SHA256 and a timing-safe comparison; webhooks are deduplicated, out-of-order events are ignored, and a missed webhook is reconciled from Razorpay
- 3-day grace period when a renewal fails; deleting an account cancels its subscription at once
Platform
- Registration, login, logout and protected routes
- Continue with Google (Google Identity Services): one tap to sign up or sign in; an existing account with the same verified email is linked, not duplicated
- Forgot password?: a one-time reset link by email (sent from Gmail through the Gmail API), valid for 30 minutes; only a hash of the token is stored
- JWT authentication in an HTTP-only cookie
- Optional PDF resume upload with text extraction
- AI report generation with Groq (Gemini supported as a fallback)
- MongoDB persistence for interview reports
- React + Vite frontend, Express REST API backend
- Deployed with the frontend on Vercel and the backend on Render
Limits and security
- Daily and monthly AI allowances per user from their plan, shown in the UI (Free: 2 reports a day and 5 a month by default)
- The allowance is reserved atomically in MongoDB, so parallel requests can't overshoot it, and a failed AI call gives it back
- Site-wide caps on AI provider usage, in requests and tokens per minute and per day (retries included), keep the whole site under the provider's rate limits; over a cap, or if the provider answers 429, users get "busy, try again" and their allowance back
- One report generation at a time per user, plus a short burst limit
- Failed sign-ins are rate limited per account and per network; sign-ups per network
- Input caps (job description, profile, resume text, request size) and PDF-only uploads up to 3 MB
- Security headers via Helmet, and every error returned as JSON the UI can show
Screenshots
Public pages are from the live site. Signed-in pages use a demo account with sample data.
This is the beginning of the README. Read the rest at the original. Read the full README ↗