AI-powered interview tool that analyzes answers and provides instant, personalized feedback for effective preparation.
AI Interview is a comprehensive interview preparation platform that leverages artificial intelligence to simulate real interview scenarios. The application provides instant feedback on your responses, helping you identify areas for improvement and build confidence for your actual interviews.
- 🤖 AI-Powered Questions - Dynamic question generation based on role and experience level
- 📊 Real-time Analysis - Instant feedback on communication skills and answer quality
- 🎙️ Voice Recognition - Speech-to-text for natural conversation flow
- 📈 Performance Tracking - Detailed analytics and progress monitoring
- 🔐 Secure Authentication - User management with Clerk integration
- 💬 Real-time Communication - WebSocket integration for seamless interactions
- 🎨 Modern UI/UX - Clean, responsive interface built with Tailwind CSS
- 📱 Mobile Responsive - Optimized for all devices
| Category | Technology | Purpose |
|---|---|---|
| Frontend | React 18+ | User interface framework |
| Language | TypeScript | Type-safe development |
| Build Tool | Vite | Fast development and bundling |
| Styling | Tailwind CSS | Utility-first styling |
| State Management | Redux Toolkit | Predictable state management |
| Authentication | Clerk | User authentication & management |
| Real-time | WebSocket | Live communication |
| Validation | Zod | Runtime type validation |
| UI Components | shadcn/ui | Reusable component library |
| Containerization | Docker | Application deployment |
- Node.js 18+ and npm (for local development)
- Git
- Docker and Docker Compose (for containerized deployment)
The fastest way to get started is using our pre-built Docker image:
Pull and run the Docker image
docker run -d \ --name ai-interview \ -p 3000:80 \ -e VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key_here \ -e VITE_API_BASE_URL=your_api_url_here \ -e VITE_WEBSOCKET_URL=your_websocket_url_here \ tanish2000/ai-interview:latest
Access the application Open your browser and navigate to
http://localhost:3000
Create a docker-compose.yml file
version: '3.8'services: ai-interview: image: tanish2000/ai-interview:latestcontainer_name: ai-interviewports: - "3000:80"environment: - VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key_here - VITE_API_BASE_URL=your_api_url_here - VITE_WEBSOCKET_URL=your_websocket_url_hererestart: unless-stopped
Start the application
docker-compose up -d
View logs (optional)
docker-compose logs -f ai-interview
Create a .env file for Docker Compose:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key_hereVITE_API_BASE_URL=your_api_url_hereVITE_WEBSOCKET_URL=your_websocket_url_hereThen update your docker-compose.yml:
version: '3.8'services:
ai-interview:
image: tanish2000/ai-interview:latestcontainer_name: ai-interviewports:
- "3000:80"env_file:
- .envrestart: unless-stopped# Pull the latest image
docker pull tanish2000/ai-interview:latest
# Stop the container
docker stop ai-interview
# Start the container
docker start ai-interview
# Remove the container
docker rm ai-interview
# View container logs
docker logs ai-interview
# Execute commands inside the container
docker exec -it ai-interview /bin/shClone the repository
git clone https://github.com/devtanish/AI-Interview.git cd AI-InterviewInstall dependencies
npm install
Set up environment variables
cp .env.example .env.local
Update
.env.localwith your configuration:VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key_hereVITE_API_BASE_URL=your_api_url_hereVITE_WEBSOCKET_URL=your_websocket_url_here
Start the development server ```bash npm run dev ```
Open your browser Navigate to
http://localhost:5173
AI-Interview/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ │ ├── ui/ # shadcn/ui components
│ │ ├── interview/ # Interview-specific components
│ │ └── common/ # Shared components
│ ├── pages/ # Application pages/routes
│ ├── hooks/ # Custom React hooks
│ ├── store/ # Redux store configuration
│ │ ├── slices/ # Redux slices
│ │ └── api/ # API slice definitions
│ ├── lib/ # Utility libraries
│ ├── types/ # TypeScript type definitions
│ ├── schemas/ # Zod validation schemas
│ └── styles/ # Global styles
├── package.json
├── tsconfig.json
├── tailwind.config.js
├── vite.config.ts
└── README.md
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build locally# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run type-check # Run TypeScript compiler# Testing
npm run test# Run tests
npm run test:ui # Run tests with UI# Docker (if building locally)
docker build -t ai-interview .# Build Docker image
docker run -p 3000:80 ai-interview # Run Docker containerTo use a custom domain with Lovable:
- Go to Project → Settings → Domains
- Click Connect Domain
- Follow the DNS configuration steps
- Sign Up/Login - Create an account or sign in with existing credentials
- Choose Interview Type - Select from technical, behavioral, or custom interviews
- Set Parameters - Configure difficulty level, duration, and focus areas
- Start Interview - Begin your AI-powered interview session
- Review Feedback - Analyze your performance and improvement suggestions
- Track Progress - Monitor your improvement over time
The application is available as a Docker image on Docker Hub:
- Repository: tanish2000/ai-interview
- Tags Available:
latest- Latest stable versionv1.0.0- Specific version tag
Pull the image directly: ```bash docker pull tanish2000/ai-interview:latest ```
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Use TypeScript for all new code
- Follow the existing ESLint configuration
- Write meaningful commit messages
- Add tests for new features
This project is licensed under the MIT License - see the LICENSE file for details.
Tanish
- GitHub: @devtanish
- LinkedIn: Connect with me
- React - The foundation of our UI
- Clerk - Authentication made simple
- shadcn/ui - Beautiful component library
- Tailwind CSS - Utility-first CSS framework
- Lovable - Rapid development platform
- Docker - Containerization platform
- Multi-language support
- Video interview simulation
- Advanced analytics dashboard
- Integration with job platforms
- Mobile app development
- AI interviewer personality customization
- Kubernetes deployment support
- Multi-architecture Docker images
⭐ Star this repo if you found it helpful!
Made with ❤️ by Tanish