AI Interview Question Predictor
Interview prep, matched to the real job.
An AI tool for recruiters, hiring teams and candidates that predicts the interview questions a person is most likely to face — based on their real CV, the target role and the specific job description.
- Attribution
- Independent Project
- Period
- 2025
- Category
- AI & Automation
Role + level
Questions matched by seniority
01The challenge
Interview preparation usually relies on generic question lists that ignore a candidate's actual background and the job they're applying for.
02The solution
A Flask application that extracts the CV text, embeds it alongside the job description with Google Gemini, and retrieves the most relevant questions from a curated bank segmented by role and seniority.
03Key features
- 01
CV parsing directly from PDF uploads
- 02
Gemini semantic embeddings for matching experience to questions
- 03
Curated question bank by role (MERN, Python) and level (Intern, Associate, Experienced)
- 04
Vector similarity search over the question bank
- 05
A simple web interface for uploading a CV and viewing predicted questions
04Engineering approach
How it's built.
- Flask
- Google Gemini
- RAG
- Vector Search
- PDF Parsing
- 01
Small, single-purpose modules — CV processing, embedding, vector storage and question matching — so new roles, levels or question sets can be added without touching the pipeline.
- 02
Questions are retrieved from a curated, segmented bank rather than freely generated, which keeps the shortlist relevant to the candidate's seniority.
05Project gallery
Inside the system.
Architecture views drawn from the project's documented design and its public source code.
System view · architecture from verified project notes
From a CV to a targeted shortlist.
The CV and job description are embedded and matched against a curated, segmented question bank.
- 0102
CV + job description
PDF upload and role selection
- 0203
Text extraction
CV parsed from PDF
- 0304
Gemini embeddings
gemini-embedding-001
- 0405
Vector search
Similarity over the question bank
- 0506
Question matching
Filtered by role and level
- 06
Shortlist
Predicted interview questions
Key design decisions
- Retrieval from a curated bank keeps questions realistic.
- Segmentation by role and seniority before matching.
- Single-purpose modules make the pipeline easy to extend.
main.py Flask entrypoint
api.py API routes
cv_processor.py extracts text from the uploaded CV
embedder.py Gemini embeddings
vector_store.py stores and searches question embeddings
question_matcher.py matches CV + job description to questions
questions/ intern · associate · experienced × MERN · Python
templates/ web interface06Outcome
What it delivered.
Candidates get a targeted shortlist of interview questions matched to their real background and the job description, instead of a one-size-fits-all list.
- Question bank matched by seniority
- Role + level
As published in the founder's portfolio. No figures on this page are estimates or projections.
07Project attribution
Independent ProjectAn independent project designed and built by our founder, Arslan Arshad. It is not a client engagement.
Sources: Founder portfolio (opens in a new tab) · Repository README (opens in a new tab)