Skip to content

carlosas/interview-analyzer

Repository files navigation

Interview-Analyzer

Interview-Analyzer Logo

Interview-Analyzer is a tiny application designed to help you analyze and improve your job interview performance. It leverages AI to transcribe and analyze your interview recordings, providing actionable feedback.

example

Features

  • AI-Powered Analysis: Automatically evaluates your interview performance using GPT-4o via LangChain.
  • Transcription: Seamlessly converts audio recordings into text using OpenAI Whisper.
  • CV Management: Upload and manage CVs (PDF) with automatic text extraction for cross-referencing during analysis.
  • Historical Analysis: Keeps a record of your past interviews and analyses for tracking progress.
  • Re-analyze: Re-analyze interviews with different prompts or updated CVs.
  • Secure Access: Username/password authentication with Redis-backed rate limiting.

Tech Stack

  • Streamlit: Interactive web interface.
  • Django ORM: Database models and data access layer.
  • LangChain: LLM orchestration and analysis logic.
  • PostgreSQL: Persistent storage of transcripts, analyses, and CVs.
  • Redis: Cache and authentication rate limiting.
  • Docker: Consistent environment and easy deployment.
  • Poetry: Dependency management.
  • Ruff: Linting and formatting.

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone <repository_url>
    cd interview-analyzer
  2. Configure environment variables:

    cp .env.dist .env

    Open .env and fill in the required values:

    • OPENAI_API_KEY: Your OpenAI API key.
    • LOGIN_USER, LOGIN_PASSWORD: Credentials to log in to the app (defaults: admin / admin).
  3. Build and install:

    make install
  4. Start the application:

    make start

Run make help to see all available commands.

Usage

  1. Open your browser and navigate to http://localhost:8501.
  2. Log in using the credentials defined in .env.
  3. Analyze New Interview: Go to the Interview Analyzer page, upload an audio file (MP3, WAV, M4A, MP4), optionally attach a CV, and click Analyze. The system will transcribe and analyze it with step-by-step progress.
  4. View History: Use the sidebar to browse past interviews and review the AI's feedback.
  5. Manage CVs: Go to the Curriculum Vitae page to upload, view, edit, or delete CVs.

Database Management

The project includes Adminer for easy database management.

  • Access Adminer at http://localhost:8080.
  • System: PostgreSQL.
  • Server: db.
  • Username/Password/Database: As defined in your .env file.

About

Small AI-powered application to analyze your job interviews

Resources

Contributing

Stars

Watchers

Forks

Contributors

Languages