Inspiration

Preparing for interviews is often stressful and unstructured. Most existing tools rely on generic, rigid question banks that don't adapt to a candidate's actual experience or the specific job description they are applying for.

We built PrepAI to create a realistic, adaptive mock interview experience—an AI coach that reads your actual resume, listens to your responses, and asks meaningful follow-up questions just like a human interviewer would.


What it does

PrepAI is a full-stack, AI-powered mock interview platform that turns job preparation into an interactive, feedback-driven experience:

  • Resume & JD Parsing: Upload a PDF resume and optionally paste a job description. PrepAI extracts your skills and projects server-side into a structured profile.
  • Adaptive Interviews: Questions are dynamically generated using Google Gemini API. Each follow-up builds naturally on your previous answer rather than following a static script.
  • Voice & Live Confidence Tracking: Answer using text or voice (via Web Speech API) while getting real-time UI feedback on answer length and tone confidence.
  • Detailed Evaluation Report: Upon completion, candidates get a comprehensive dashboard featuring an overall score, grammar/confidence breakdown, performance radar/bar charts, and per-question model answers.

How we built it

PrepAI is designed with end-to-end type safety, clean API boundaries, and a distinct "study lamp at night" visual identity (deep ink tones, warm brass accents, and custom typography).

  • Framework: Next.js 14 (App Router), React 18, and TypeScript (Strict Mode).
  • AI & NLP: Google Gemini API (gemini-2.0-flash) for fast resume extraction, dynamic question generation, and report scoring.
  • Parsing & Voice: pdf-parse for server-side text extraction and browser-native Web Speech API for zero-cost voice input.
  • UI & Data Viz: Tailwind CSS, Lucide Icons, and Recharts for interactive performance graphs.

Challenges we faced

  1. Strict JSON Parsing from Unstructured Text: Extracting structured JSON reliably from raw resume text required crafting robust prompt boundaries and schema-enforcing instructions for the Gemini API.
  2. Context-Aware Dynamic Interview State: Ensuring the model maintains conversation context across turns without drifting off-topic or repeating questions required designing a clean in-memory session store (sessionStore.ts) and optimized context windows.
  3. Low-Latency Voice UI: Integrating the native Web Speech API seamlessly alongside a live answer confidence heuristic without triggering UI lag or re-render churn.

What we learned

  • How to leverage Gemini 2.0 Flash for sub-second structured JSON responses and conversational prompting.
  • Crafting custom design systems in Tailwind CSS to give an AI app a distinct, warm identity rather than a generic SaaS template look.
  • Clean API routing patterns in Next.js 14 App Router for parsing, streaming session updates, and server-side evaluation.

Built With

Share this project:

Updates

posted an update —

Introducing PrepAI: Practice interviews before they happen! Excited to announce the launch of PrepAI — an AI-powered mock interview coach built to make interview preparation realistic, adaptive, and stress-free!

Instead of relying on generic, fixed question banks, PrepAI reads your actual resume, adapts to specific job descriptions, and asks tailored follow-up questions just like a real interviewer would.

Key Features at a Glance Smart Resume & JD Parsing: Upload your PDF resume and target role — Gemini AI parses your skills and projects into a structured profile instantly.

Adaptive Voice & Text Input: Speak or type your answers naturally using native Web Speech API integration.

Live Confidence Meter: Real-time UI heuristic feedback on answer length and tone while typing.

Comprehensive Feedback Report: Get an overall score, grammar & confidence breakdown, Recharts visual analytics, and model answers for every question.

Built With Framework: Next.js 14 (App Router) & TypeScript (Strict Mode)

AI: Google Gemini API (gemini-2.0-flash)

Styling: Custom "Study Lamp at Night" theme via Tailwind CSS

Data Visualization: Recharts

Feedback and comments are welcome! Let me know what features you'd like to see next in the roadmap.

Log in or sign up for Devpost to join the conversation.

posted an update —

Introducing PrepAI: Practice interviews before they happen! Excited to announce the launch of PrepAI — an AI-powered mock interview coach built to make interview preparation realistic, adaptive, and stress-free!

Instead of relying on generic, fixed question banks, PrepAI reads your actual resume, adapts to specific job descriptions, and asks tailored follow-up questions just like a real interviewer would.

Key Features at a Glance Smart Resume & JD Parsing: Upload your PDF resume and target role — Gemini AI parses your skills and projects into a structured profile instantly.

Adaptive Voice & Text Input: Speak or type your answers naturally using native Web Speech API integration.

Live Confidence Meter: Real-time UI heuristic feedback on answer length and tone while typing.

Comprehensive Feedback Report: Get an overall score, grammar & confidence breakdown, Recharts visual analytics, and model answers for every question.

Built With Framework: Next.js 14 (App Router) & TypeScript (Strict Mode)

AI: Google Gemini API (gemini-2.0-flash)

Styling: Custom "Study Lamp at Night" theme via Tailwind CSS

Data Visualization: Recharts

Feedback and comments are welcome! Let me know what features you'd like to see next in the roadmap.

Log in or sign up for Devpost to join the conversation.

Submission history