Skip to content

InterviewAce AI - Master Technical Interviews with AI-Powered Practice Ace your technical interviews with personalized AI-generated questions and real-time speech-to-text evaluation.

License

Notifications You must be signed in to change notification settings

mimo-to/InterviewAce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

InterviewAce AI Logo

InterviewAce AI

Ace Your Interviews with AI-Powered Practice

React TypeScript Vite Firebase TailwindCSS

๐ŸŒŸ About InterviewAce AI

InterviewAce AI is a cutting-edge web application designed to help job seekers master technical interviews through AI-powered practice sessions. Our platform generates personalized interview questions based on your job role, experience, and tech stack, then evaluates your responses using advanced AI to provide actionable feedback.

๐ŸŽฏ Key Features

  • AI-Powered Question Generation: Get personalized interview questions tailored to your role and experience
  • Speech-to-Text Practice: Practice answering questions aloud with real-time transcription
  • AI Performance Evaluation: Receive detailed feedback and ratings (1-10) on your answers
  • Webcam Integration: Optional video recording during practice sessions
  • Progress Tracking: Save and review your interview performance over time
  • Comprehensive Feedback: Detailed analysis comparing your answers to ideal responses

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Firebase account
  • Google Generative AI API key

Installation

  1. Clone the repository:

    git clone https://github.com/mimo-to/interviewace-ai.git
    cd interviewace-ai
  2. Install dependencies:

    npm install
    # or
    yarn install
  3. Set up environment variables: Create a .env file in the root directory and add:

    VITE_GEMINI_API_KEY=your_google_gemini_api_key
    VITE_FIREBASE_API_KEY=your_firebase_api_key
    VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
    VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
    VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
    VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
    VITE_FIREBASE_APP_ID=your_firebase_app_id
  4. Run the development server:

    npm run dev
    # or
    yarn dev
  5. Build for production:

    npm run build
    # or
    yarn build

๐Ÿ› ๏ธ Tech Stack

Frontend

Backend & Services

Development Tools

๐Ÿ“ Project Structure

interviewace-ai/
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ assets/
โ”‚   โ”‚   โ”œโ”€โ”€ img/
โ”‚   โ”‚   โ””โ”€โ”€ svg/
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ ui/           # Reusable UI components
โ”‚   โ”‚   โ””โ”€โ”€ ...           # Feature-specific components
โ”‚   โ”œโ”€โ”€ config/           # Configuration files
โ”‚   โ”œโ”€โ”€ layouts/          # Page layouts
โ”‚   โ”œโ”€โ”€ routes/           # Page components
โ”‚   โ”œโ”€โ”€ scripts/          # AI integration
โ”‚   โ”œโ”€โ”€ types/            # TypeScript types
โ”‚   โ”œโ”€โ”€ lib/              # Utility functions
โ”‚   โ”œโ”€โ”€ provider/         # React context providers
โ”‚   โ”œโ”€โ”€ handlers/         # Event handlers
โ”‚   โ”œโ”€โ”€ App.tsx           # Main app component
โ”‚   โ””โ”€โ”€ main.tsx          # Entry point
โ”œโ”€โ”€ .env                  # Environment variables
โ”œโ”€โ”€ .gitignore            # Git ignore rules
โ”œโ”€โ”€ index.html            # HTML template
โ”œโ”€โ”€ package.json          # Dependencies and scripts
โ”œโ”€โ”€ tsconfig.json         # TypeScript configuration
โ”œโ”€โ”€ vite.config.ts        # Vite configuration
โ””โ”€โ”€ ...

๐ŸŽฎ How It Works

  1. Create Interview: Specify your job role, experience, and tech stack
  2. AI Question Generation: Our AI generates 5 relevant interview questions
  3. Practice Session: Answer questions using your voice with optional webcam
  4. AI Evaluation: Receive detailed feedback comparing your answers to ideal responses
  5. Performance Tracking: Save results and track improvement over time

Core Components

  • FormMockInterview: Create/edit mock interviews with job details
  • QuestionSection: Tabbed interface for navigating interview questions
  • RecordAnswer: Speech-to-text recording with AI evaluation
  • Feedback: Detailed performance analysis and ratings

๐Ÿ” Authentication

InterviewAce AI uses Clerk for authentication, providing:

  • Email/Password signup and login
  • OAuth with Google, GitHub, and other providers
  • Protected routes for interview data
  • User-specific data isolation

๐Ÿ—„๏ธ Data Management

All interview data is stored in Firebase Firestore:

  • User profiles and authentication
  • Interview questions and metadata
  • User answers and AI feedback
  • Performance tracking and analytics

๐Ÿค– AI Integration

Question Generation

Uses Google's Gemini model to generate relevant interview questions based on:

  • Job role/position
  • Years of experience
  • Tech stack requirements
  • Job description

Answer Evaluation

AI evaluates user responses by:

  • Comparing answers to ideal responses
  • Providing a rating (1-10) based on quality
  • Offering specific feedback for improvement
  • Identifying strengths and weaknesses

๐ŸŽจ UI/UX Features

  • Responsive Design: Works on desktop, tablet, and mobile
  • Dark/Light Mode: Theme switching support
  • Accessibility: WCAG compliant components
  • Smooth Animations: Enhanced user experience
  • Real-time Feedback: Instant transcription and evaluation

๐Ÿšข Deployment

Firebase Hosting

The application is configured for Firebase Hosting:

# Build the application
npm run build

# Deploy to Firebase
firebase deploy

Environment Configuration

Ensure all environment variables are set in your deployment environment:

  • Google Generative AI API key
  • Firebase configuration
  • Clerk authentication keys

๐Ÿค Contributing

We welcome contributions to InterviewAce AI! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please ensure your code follows our coding standards and includes appropriate tests.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ง Contact

Rounak Hati - [email protected]

Project Link: https://github.com/mimo-to/interviewace-ai


About

InterviewAce AI - Master Technical Interviews with AI-Powered Practice Ace your technical interviews with personalized AI-generated questions and real-time speech-to-text evaluation.

Topics

Resources

License

Stars

Watchers

Forks