Illustrative visualization of a candidate response and interviewer prompt connected through a semantic comparison core.
ADAPTIVE TECHNICAL INTERVIEW SYSTEM

SMART
MOCK
INTERVIEW

Can technical interview answers be evaluated more consistently?

A local practice system that asks technical questions, compares answers with references, and turns each session into clear feedback.

Explore the system
Candidate response Semantic comparison Reference prompt
LOCAL-FIRST · OPEN SOURCE01 08
01
THE PRODUCT

A practice session with visible limits.

Choose a role, work through technical questions, and review a record of what you answered. The system makes practice more structured; it does not decide whether someone should be hired.

Practice aidSimilarity to a reference, not a correctness grade.Local-firstAnswers and session results stay on the candidate’s computer.Evidence-ledExperimental checks are separately labelled and opt-in.
02
QUESTION BANK · READ-ONLY CORPUS

A broad bank, organized for practice.

The application loader verifies a curated base and four approved expansion batches before exposing questions to the interview flow.

LOADED KNOWLEDGE BASE666questions

Across eight technical domains and three difficulty levels.

8 domains3 levelsread-only
Machine Learning174
Generative AI & RAG94
Deep Learning86
MLOps & Model Deployment85
Data Analysis75
SQL54
NLP53
Python45
DIFFICULTY MIX

Fixed progression.
Clear expectations.

Mixed interviews follow Easy → Medium → Hard. That core ladder does not change in response to similarity scores.

Easy
125
Medium
435
Hard
106

CURATION NOTE The active loader combines 487 frozen v5 questions with 179 approved expansion records. The repository states that no question has been reviewed by a human subject-matter expert. The separate legacy /api system retains a 4,085-question bank; it is not the corpus used by the new /demo flow.

03
DATA → SESSION

From curated records to a usable interview.

The same validated corpus powers question selection, reference-answer comparison, and the session summary.

01Curated recordsQuestion · answer · concepts
02Validate & fingerprintSchema · manifests · integrity
03Select a sessionRole · domain · difficulty
04Capture the responseLocal session store
05Review the evidenceSimilarity · observations · report
src/retrieval/corpus.pysrc/demo/catalog.pysrc/demo/engine.pysrc/demo/store.py
04
INTERVIEW ENGINE

A guided conversation, not a quiz dump.

The new demo plans a structured technical interview, stores each turn locally, and builds the review from the questions and answers in that session.

01

Choose a role

A role maps to supported technical domains. A job description can add relevance hints.

02

Get the next prompt

Curated questions are selected for the role, topic, and planned difficulty.

03

Answer in context

Write prose or use the code editor for the practical exercise. Save and return later.

04

Review separate signals

Sentence-BERT similarity, exact-word observations, and optional experiments remain distinct.

05

Continue and reflect

Answer-aware follow-ups may probe missing concepts; the core difficulty ladder stays fixed.

NEW /demo FLOW

Fixed Easy → Medium → Hard

Difficulty is planned in advance. Similarity and optional evaluators never control the next question’s difficulty.

Easy→Medium→Hard
FOLLOW-UPS

Responsive prompts, bounded scope

Default follow-ups use curated concepts and the candidate’s answer. A local-model follow-up mode is optional, explicitly experimental, and not human-validated.

OPTIONAL · EXPERIMENTAL

LEGACY /api ROUTE The original interview flow is separate and retains adaptive rounds driven by similarity scores. It uses the legacy 4,085-question bank.

05
ANSWER SCORING

One active scorer. Two legacy experiments.

The new interview demo uses Sentence-BERT only. Older scorers remain in the repository’s legacy model registry, but they are not selectable for new demo sessions.

01 / ACTIVE IN NEW DEMODEFAULT

Sentence-BERT

all-MiniLM-L6-v2

Embeds the candidate answer and reference answer, then compares their semantic similarity. Reworded answers may resemble the reference, but a high similarity is still not proof of correctness.

Candidate answer→MiniLM
embeddings
←Reference answerSimilarity to reference · not a grade
02 / LEGACY REGISTRYNOT IN NEW DEMO

Siamese Bi-LSTM

Custom PyTorch answer-similarity model trained on the project’s question/answer pairs. The registry notes it mainly saw exact-match positives, so it can be stricter with reworded responses.

Answer pair→Twin scorer→Similarity
03 / LEGACY REGISTRYNOT IN NEW DEMO

TF-IDF + grammar

Classic text-overlap similarity with a grammar check. The registry’s comparable score is the TF-IDF similarity; grammar is not part of that number.

Word overlap+Grammar check→Baseline
REUSABLE LEGACY INTERFACEAnswer pair → model registry → selected scorer → similarity output

All model scores measure resemblance to a reference response. None have been validated against expert human marking.

06
FEEDBACK & REPORTING

Show the candidate what the system can actually see.

A session summary brings together the transcript and modest evidence signals without turning them into a hiring recommendation.

ANSWERSimilarity detail↓Terms found / not found as written↓Topics + practice areas↓SESSION SUMMARY + JSON EXPORT

Clarity over false certainty.

Similarity is labelled as similarity. Key-concept checks report wording found or not found; absence does not mean an idea was absent, and presence does not prove understanding.

The report records questions, answers, topics, observations, practice areas, and a turn-by-turn transcript. No overall grade is produced.

MAIN DEMOLocal report · JSON exportLEGACY APIPDF and email delivery modules
08
ARCHITECTURE & TOOLING

A local application, with experiments around it.

The interview path, opt-in research surfaces, and developer tooling are kept distinct in the implementation and in this case study.

01CandidateBrowser · local session
↓
02Flask demoRole · interview plan · persistence
↓
03Validated question corpus666 records · read-only · fingerprinted
↓
04A · DEFAULTSentence-BERTReference similarity
04B · OPT-INModular evaluation / code checkExperimental, separate output
04C · SEPARATERetrieval diagnosticsMiniLM + FAISS / BM25; not answer grading
↓
05Session reportObservations · practice areas · JSON export
VERIFIED TECHNOLOGY

Tooling labels show where each technology belongs.

PythonApplicationFlaskApplicationSentence TransformersScoringall-MiniLM-L6-v2ScoringFAISS + BM25Opt-in retrievalPyTorchLegacy scorerscikit-learnLegacy scorerPandas · NumPyDataHTML · CSS · JavaScriptInterfaceDocker · MLflow · DVCDeveloper toolingGitHub ActionsCI
FUTURE DEVELOPMENT / VALIDATION

Human subject-matter review of the question bank, human-rated answer evaluation, and usability research remain needed before any score can be treated as an assessment.

SMART MOCK INTERVIEW

Structured practice.
Honest signals.

Smart Mock Interview combines a curated technical question bank, semantic answer comparison, answer-aware follow-ups, and session reporting in one local practice system.

The current demo’s similarity score is not validated against human marking. Experimental evaluation and retrieval are separate from the default scoring path.

RESEARCH PROTOTYPE · LOCAL-FIRST · NO HIRING DECISIONS© 2026 MOHAN RAMAMURTHY