Skip to content

CodeHelixor/Interview-assistant

Repository files navigation

🎯 Interview Assistant

An AI-powered desktop application that helps you prepare for interviews by capturing voice questions and generating personalized, perfect answers using OpenAI's GPT-4o.

✨ Features

  • 🎤 Voice Recording: Capture interview questions with high-quality audio
  • 🤖 AI-Powered Answers: Generate personalized responses using GPT-4o
  • 📄 Resume Integration: Tailor answers based on your actual experience and skills
  • 🔊 Text-to-Speech: Listen to generated answers with natural voice synthesis
  • 💾 Profile Management: Store and manage your resume data
  • 🖥️ Desktop App: Cross-platform Electron application

🛠️ Tech Stack

  • Frontend: React + Tailwind CSS + Electron
  • Backend: Node.js + Express
  • AI Services: OpenAI (Whisper, GPT-4o, TTS)
  • Audio Processing: Web Audio API + MediaRecorder

🚀 Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • key here

Installation

  1. Clone and install dependencies:

    npm install
  2. Set up environment variables:

    cp env.example .env

    Edit .env and add your key here:

    OPENAI_API_KEY=your_openai_api_key_here
    
  3. Start the development server:

    npm run dev

    This will start both the backend server (port 5000) and the Electron app.

Alternative: Run components separately

  • Backend only: npm run server
  • Frontend only: npm start
  • Electron only: npm run electron-dev

📱 Usage

  1. Set up your profile: Go to "Resume Manager" and fill in your experience, skills, projects, and achievements.

  2. Record questions: Use the voice recorder to capture interview questions. The app will automatically transcribe them using Whisper.

  3. Generate answers: Click "Generate Perfect Answer" to get a personalized response using GPT-4o.

  4. Listen to answers: Use the text-to-speech feature to hear your answers spoken aloud.

🔧 Configuration

Audio Settings

  • Microphone permissions are required for voice recording
  • Audio quality: 44.1kHz, Opus codec
  • Noise suppression and echo cancellation enabled

AI Configuration

  • Speech-to-Text: OpenAI Whisper API
  • Answer Generation: GPT-4o with custom prompts
  • Text-to-Speech: OpenAI TTS (Nova voice)

📦 Building for Production

# Build the React app
npm run build

# Package the Electron app
npm run electron-pack

The built application will be in the dist folder.

🔒 Security Notes

  • API keys are stored in environment variables
  • Audio data is processed locally and sent to OpenAI for transcription
  • Resume data is stored locally (consider database for production)

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

📄 License

MIT License - see LICENSE file for details.

🆘 Troubleshooting

Common Issues

Microphone not working:

  • Check browser/system permissions
  • Ensure microphone is not being used by another application

OpenAI API errors:

  • Verify your API key is correct
  • Check your OpenAI account has sufficient credits
  • Ensure you have access to GPT-4o and Whisper APIs

Audio transcription issues:

  • Speak clearly and reduce background noise
  • Check internet connection
  • Verify audio file size is under 25MB

Getting Help

  • Check the console for error messages
  • Ensure all dependencies are installed
  • Verify environment variables are set correctly

🔮 Future Enhancements

  • Support for multiple languages
  • Interview question database
  • Practice session analytics
  • Integration with calendar apps
  • Mock interview scheduling
  • Answer customization options
  • Export functionality for answers

Happy interviewing! 🎉

About

interview assistant app - electron

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors