Skip to content
Muhammad Siraj
All work

AI interview preparation platform

PrepLens

A real-time voice interviewer, AI résumé analysis and instant-scored mock exams that cut manual evaluation by 70%.

Title card for PrepLens showing a spoken question and answer exchange.

Solution

PrepLens helps people prepare for interviews. Its centrepiece is a real-time, speech-to-speech AI voice interviewer: you answer out loud, it responds out loud, and at the end it gives feedback, a score and suggestions.

How PrepLens works
  • Model output
  • Deterministic code
  • Human decision
  • External system or data

Voice interview

  1. System: Candidate picks a job role
  2. Model output: Interviewer asks a questionGPT-4 agent, spoken with TTS
  3. Human decision: Candidate answers aloud
  4. Model output: Answer transcribedWhisper
  5. Model output: Feedback, score and suggestionsWhen the session ends

Résumé analysis

  1. System: Upload a PDF and a job title
  2. Code: Text extractedpypdf
  3. Model output: ATS score, summary, improvementsGemini 2.5 Flash

Simplified diagram.

Around the interviewer sit two more tools:

  • AI résumé analysis that scores a résumé for applicant tracking systems against a job title and suggests improvements.
  • A mock multiple-choice exam module that draws 10 questions by difficulty and category, scores them instantly and explains wrong answers. It reduced manual evaluation by 70%.

Technology and why

OpenAI
A GPT-4 agent built with the OpenAI Swarm framework runs the voice interview, generating questions for the chosen role and follow-ups from the answers.
Whisper and TTS
Whisper turns spoken answers into text, and text-to-speech gives the interviewer a voice.
Gemini
Gemini 2.5 Flash reads an uploaded PDF résumé against a job title and returns an ATS score, a summary and improvements.
FastAPI
The API for authentication, quizzes, résumé analysis and voice sessions, with interactive docs out of the box.
PostgreSQL
Stores users, questions, quiz results, résumé analyses and interview sessions through SQLAlchemy 2.0.
Redis
Blacklists JWTs on logout, so a stateless token can still be revoked.
React
React 18 with Vite and Tailwind CSS v4 for the candidate-facing app.

Hard problems

Logging out of a stateless session

JWTs are valid until they expire, which is a problem for logout. PrepLens keeps revoked tokens in Redis, so a logged-out token is refused, with bcrypt-hashed passwords and 20-minute token expiry.

Results

Less manual evaluation, thanks to instant MCQ scoring
70%

Model and evaluation

Model
GPT-4 (OpenAI Swarm agent) for the voice interviewer, Whisper for speech-to-text, text-to-speech for its voice, and Gemini 2.5 Flash for résumé analysis.