Skip to content

Repository files navigation

Interview AI - AI-Powered Interview Preparation

React TypeScript Vite Tailwind CSS Firebase

Interview AI is a modern web application designed to help users prepare for technical interviews using AI-powered tools. The platform offers a comprehensive suite of features to help users practice, improve, and track their interview performance.

✨ Features

  • AI-Powered Interview Simulation: Practice with realistic interview questions generated by AI
  • Personalized Dashboard: Track your interview history and progress
  • Authentication: Secure user authentication powered by Clerk
  • Real-time Updates: Get instant feedback and updates on your interview performance
  • Responsive Design: Works seamlessly on desktop and mobile devices
  • Modern UI: Built with Radix UI and Tailwind CSS for a polished user experience

🚀 Getting Started

Prerequisites

  • Node.js (v16 or later)
  • npm or yarn
  • Firebase project (for backend services)
  • Clerk account (for authentication)
  • Google Generative AI API key

Installation

  1. Clone the repository

    git clone https://github.com/your-username/interview-ai.git
    cd interview-ai
  2. Install dependencies

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

    VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    VITE_GOOGLE_AI_API_KEY=your_google_ai_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. Start the development server

    npm run dev
    # or
    yarn dev

    The application will be available at http://localhost:5173

🛠️ Tech Stack

  • Frontend: React 18, TypeScript, Vite
  • UI Components: Radix UI, Tailwind CSS
  • Authentication: Clerk
  • AI: Google Generative AI
  • Database: Firebase Firestore
  • State Management: React Context API
  • Form Handling: React Hook Form
  • Routing: React Router
  • Icons: Lucide Icons

📁 Project Structure

src/
├── components/      # Reusable UI components
├── config/         # Application configuration
├── gemini/         # Google Generative AI integration
├── handlers/       # Event handlers and utilities
├── hooks/          # Custom React hooks
├── Layouts/        # Page layout components
├── lib/            # Utility functions and helpers
├── provider/       # Context providers
├── routes/         # Application routes and pages
├── types/          # TypeScript type definitions
└── App.tsx         # Main application component

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your 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

📄 License

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

🙏 Acknowledgments


Powered by Google Gemini AI

About

Interview AI is a modern web application designed to help users prepare for technical interviews using AI-powered tools.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages