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:latest container_name: ai-interview ports: - "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_here restart: 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_here
VITE_API_BASE_URL=your_api_url_here
VITE_WEBSOCKET_URL=your_websocket_url_hereThen update your docker-compose.yml:
version: '3.8'
services:
ai-interview:
image: tanish2000/ai-interview:latest
container_name: ai-interview
ports:
- "3000:80"
env_file:
- .env
restart: 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/sh-
Clone the repository
git clone https://github.com/devtanish/AI-Interview.git cd AI-Interview -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Update
.env.localwith your configuration:VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key_here VITE_API_BASE_URL=your_api_url_here VITE_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
- ๐ Report a bug
- ๐ Request a feature
- ๐ฌ Join discussions
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