Inspiration The tech job market is tougher than ever. We realized that for most students and developers, the problem isn't just "coding"—it's getting past the ATS (Applicant Tracking System) and handling the pressure of a live interview.

Most mock interview tools are just text chatbots. They don't simulate the anxiety of a real person watching you, nor do they tell you why your resume got rejected in the first place.

I wanted to build something that acts like a strict "Gatekeeper." A tool that says: "No, your resume isn't good enough for Google yet. Fix these keywords first, then come back and interview."

What it does Hire Prep AI is a ruthless, end-to-end interview simulator.

The ATS Gatekeeper:

Users upload a resume (PDF or text) and select a target company (e.g., Google, Microsoft, Adobe).

The AI scans the resume against strict, company-specific criteria.

Pass/Fail Logic: It calculates a fit score (0-100). If the score is below the threshold, the interview is blocked, and specific feedback is provided.

Immersive Voice Interview:

If the user passes the ATS check, they enter the "Interviewer Mode."

The app uses browser-native Speech-to-Text and Text-to-Speech to conduct a full voice conversation. No typing allowed.

The AI adapts its persona (e.g., "Google" asks about Big O and Scalability; "Adobe" asks about Creativity).

Visual Proctoring:

A futuristic "Face Scan" UI overlays the camera feed, simulating the pressure of an AI-proctored environment (like HireVue).

How we built it We built this as a high-performance, full-stack application using Python and Modern Web Standards.

Backend: We used FastAPI for its speed and native async support. This allows us to handle resume processing and voice data simultaneously without lag.

The Brain: The core intelligence is powered by Google Gemini 1.5 Flash (and experimented with Gemini 2.0 Flash). We chose Flash because low latency is critical for a voice conversation—waiting 5 seconds for a reply breaks the immersion.

Frontend: Built with Vanilla JavaScript, HTML5, and CSS3. We implemented a Glassmorphism design system to give it a "Deep Tech" aesthetic.

Audio: We leveraged the Web Speech API (speechSynthesis and webkitSpeechRecognition) to run speech processing directly in the browser, reducing server load and latency.

Deployment: The entire stack is containerized and deployed on Render, serving both the FastAPI backend and static frontend assets from a single service.

Challenges we ran into The "Localhost" Trap: One of the biggest hurdles was moving from local development to the cloud. Our frontend kept trying to fetch http://127.0.0.1, causing immediate crashes on Render. We had to refactor our entire API consumption logic to use relative paths.

Model Hallucinations & Versions: We initially tried to use the absolute latest "Gemini 3" preview, but hit API availability issues. We learned the hard way that stability (Gemini 1.5 Flash) is often better than bleeding-edge features for production apps.

Serving Static Files with FastAPI: Configuring FastAPI to serve a Single Page Application (SPA) correctly—handling 404s for CSS/JS files while keeping API routes open—required a custom mounting strategy in Python.

Accomplishments that we're proud of The "Gatekeeper" Logic: It genuinely feels satisfying (and frustrating!) when the AI rejects your resume. It adds a layer of gamification that other tools lack.

Zero-Latency Feel: By optimizing the prompt size and using Gemini Flash, the voice interaction feels nearly instant.

The UI/UX: The "Iron Man" style face-scanning overlay (built purely with CSS animations) makes the user sit up straighter and take the interview seriously.

What we learned Prompt Engineering is an API: We learned that defining the "Persona" (e.g., You are a strict Google Senior Engineer) is just as important as the code itself.

Full-Stack Deployment: We gained deep experience in configuring production environments, managing Environment Variables securely, and debugging server logs in the cloud.

What's next for Hire Prep AI Real Emotion Analysis: Integrating OpenCV to actually analyze facial expressions (nervousness, eye contact) rather than just simulating the UI.

Coding Sandbox: Adding a live code editor so the AI can ask LeetCode-style questions and run the code in real-time.

Multi-Language Support: Allowing interviews in Hindi, Spanish, or Mandarin using Gemini's multilingual capabilities.

Built With

Share this project:

Updates