Skip to content

janniver/interviewace

Repository files navigation

InterviewAce: AI-Powered Technical Interview Assistant 🚀

Description

As technical interviews become a mainstay in the software engineering job applications, it is crucial for interviewees to be prepared for the unique blend of problem solving and effective communication that they will encounter. InterviewAce is a platform that harnesses AI to enable this: it offers a real-time, interactive environment where candidates can practise their coding skills and communication abilities, making it the perfect tool to prepare them for the big day. 🤖

Features

  • Live Coding Environment 💻: Allows candidates to write, compile, execute, and showcase their coding skills in real-time. Ability to choose the language and font in the virtual IDE.
  • AI-driven Speech-To-Text & Text-To-Speech Transcription 🗣️↔️💬: Utilizes Whisper for highly accurate real-time speech transcription, bridging the gap between verbal communication and digital interaction.
  • Live Video Feedback 📹: A novel feature that records the interviewee's video during the interview. This allows candidates to review their performance, observe body language, and assess nervousness, providing a unique opportunity for self-improvement and to simulate the visual aspects of an in-person interview.
  • Timer Function ⏱️: Candidates can keep track of how long the interview is taking.
  • Asynchronous Function Calls in JavaScript: Employed to enhance the frontend's responsiveness and efficiency, these function calls enable seamless interaction with backend services without blocking the user interface, ensuring a fluid and dynamic user experience.

Tech Stack

Languages:

  • Python
  • Javascript

Frontend:

  • React.js

Backend:

  • Python Flask

Libraries:

  • Whisper & gpt-3.5.turbo by OpenAI: Leveraged for their state-of-the-art language processing capabilities; Whisper for accurate speech recognition, and GPT-3.5 Turbo for advanced natural language understanding and response generation.
  • pyaudio, wave and audioop: Essential libraries for handling audio streams, including audio input/output operations and voice activity detection, crucial for the project's audio processing features.

Contribution

Contributions to InterviewAce are highly appreciated. For contributions, please fork the repository and create a pull request with your modifications. For major changes, open an issue first to discuss what you would like to change.

Acknowledgments

Special thanks to the OpenAI team, the Python community, and contributors to the open-source libraries we used. 👏