This repository contains an application designed to assist students and professionals to prepare for job interviews. The project allows users to practice answering typical interview questions categorized into three groups: soft skills, hard skills, and mixed questions.
Current Context In a competitive professional environment, preparation for interviews is crucial for success. This project provides a structured and interactive way to prepare for various aspects of an interview.
Objective The goal of this project is to provide an interactive platform where users can practice answering interview questions, receive instant feedback, and improve their communication and technical skills.
- File Loading: Users can upload PDF files containing information on the interview module, required skills, etc.
- Direct Interaction Mode: Questions are posed through an interface, and the user must respond orally. Responses are transmitted via Whisper for analysis.
- Revised Document Mode: Ability to generate a PDF file containing both the questions and predefined answers for review and offline practice.
- OpenAI ChatGPT: Used to generate dynamic responses to user questions. This is the official OpenAI API for generating text.
- Whisper: Used to transcribe oral responses into text. This is a dockerized service that listens for audio input and transcribes it into text.
- PDFKit: Used for creating and manipulating PDF documents.
- Next.js: A production ready React framework for building web applications.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom designs.
- FFMPEG: Used for converting audio files to different formats and handling audio streams.
- Clone the Repository: Clone the repository to your local machine to begin development or testing.
- Install Dependencies: Install all required dependencies using
pnpm install
. - API Configuration: Ensure you obtain a valid OpenAI API key and place it in the
.env
file.
To configure the environment variables necessary for running your project, you need to create an .env
file at the root
of your project. This file should include essential configurations for integrating external services used by your
application.
Insert the following lines into your .env
file, replacing placeholder values with your specific information:
# Endpoint for the Whisper service used for transcribing oral responses
NEXT_PUBLIC_WHISPER_ENDPOINT=http://localhost:9000
# OpenAI API key for using services such as ChatGPT (GPT-3.5 Turbo is used for cost efficiency, but you can use any GPT API key for more accurate results)
OPENAI_API_KEY=<Your_OpenAI_API_Key>
Ensure that you have Docker Desktop installed on your machine.
After setting up the environment variables, and installing the dependencies, you can start the application this way:
pnpm run build
pnpm run start
- Joiakim DASEK - @JowaDev
- Zotrim UKA - @Zot10
This project was developed as part of the HEG - Business Information Technology degree programme.
We drew inspiration from the Liftoff project for the audio and video segmentation process as well as a portion of the interaction logic with the video component.