🏗️ AI Mock Interview Evaluator Project Plan
Project Goal: Build a secure, comprehensive AI Mock Interview
Evaluator (Open-Source Edition).
Step Focus Area Action Details
B1. Validation & Finalize API Validation: Ensure every secure endpoint in
Logic your running local_api.py checks for the custom
LOCAL_API_KEY (sent via the X-API-KEY header)
before processing data.
B2. Fluency Combine Metrics: Modify the /api/evaluate endpoint to
Integration correctly accept the required time_taken (in seconds)
from the client and integrate the analyze_fluency
function. This allows the API to return a combined report
(Content + Fluency).
B3. Refine Enhance Qualitative Advice: Update your
Feedback analyze_fluency function to provide text-based,
action-oriented advice (e.g., "Your WPM is 80, which is
too slow. Try to be more concise.") based on the WPM
and filler counts.
B4. Data Implement Basic Database: Integrate a simple database
Persistence (like SQLite) and create a table to store the full JSON
report for every interview session (Session ID, Role, Date,
and the JSON Report).
B5. History Create History API: Add a new GET endpoint (e.g.,
Endpoint /api/history) to query the database and fetch a summary
list of past interview sessions.
Step Focus Area Action Details
F1. Interview Flow Create client_app.py: Write the main user script
Setup that sequences the interview: Prompts user for Role
→ Calls API to get Question (e.g., /api/question) →
Displays question.
F2. Audio & Time Finalize Microphone Input: Use
Capture SpeechRecognition to accurately capture audio and
record the exact time duration of the answer. This
script is responsible for providing the time_taken
value.
F3. Secure Send Data to API: Use the requests library to
Transmission package the transcription, question, and time
duration, and POST this data to the backend's
/api/evaluate endpoint, including the
LOCAL_API_KEY in the header.
F4. Comprehensive Parse & Display Results: Receive the final
Reporting combined JSON report from the API. Parse all the
scores (Content, STAR, WPM, Filler Count) and
format them into a clear, professional, easily
readable final report for the user.
F5. History Retrieval Show Past Sessions: Add a menu option to
client_app.py to call the backend's /api/history
endpoint and display a simple list of the user's past
interview sessions.