CCSF AI Interview Coach / implementation

Document context, voice practice, and coaching.

The application connects a candidate’s résumé and target role to an interview session, a readable transcript, and a coaching report.

Follow the data through the application

  1. Document setup. The React and TypeScript interface accepts a résumé, a target job description, an interview length, and an optional practice goal.
  2. Extraction and analysis. The Express server validates PDF, DOCX, and TXT inputs, extracts text, and sends résumé and job context to Gemini to prepare a structured candidate and role profile.
  3. Voice interview. The structured profile becomes context for a Google ADK interviewer agent. A WebSocket connection carries audio, interview events, and transcriptions between the browser and server.
  4. Transcript. Candidate and interviewer speech are collected into a transcript that the student can copy or download.
  5. Coaching report. The report request combines the original résumé text, job description, and captured transcript to prepare feedback and suggestions.

The grounding method uses supplied document context and a structured profile. It does not require a separate vector-search corpus.

Implementation decisions

  • Queue the opening interview prompt before waiting for a model event, so the interview can begin without a circular wait.
  • Preserve completed candidate transcriptions and distinguish interface commands from candidate answers.
  • Keep transcript export available when coaching-report generation fails.
  • Use the original documents alongside the transcript when preparing the report.

Regression checks

The repository includes server and browser regression checks using a deterministic ADK substitute. They cover interview startup, language configuration, candidate transcription, model-thought exclusion, continuation controls, export consistency, repeated answers, and report-failure recovery. These checks exercise application behavior; live speech and coaching quality require separate evaluation.

Try it with fictional documents

Download both text files, upload the sample résumé, and use the sample job description. Follow the application’s microphone prompts to try voice practice.

Evaluation record

The downloadable scenarios define expected behavior for document handling, grounding, transcript continuity, and recovery. They are a test plan, not reported user-study results. Evaluation should record the source revision, environment, observed result, and reviewer before a result is published.

Document handling

Uploaded text is processed by the application server and model provider. The interface describes session-specific use; deployment logging and provider retention still need to be checked in the live environment. Use the fictional sample documents when exploring the public prototype.

Return to demos, code, and work samples