A comprehensive interview practice application powered by AI, built with Next.js, TypeScript, and Tailwind CSS.
- 🤖 AI-Powered Questions: Dynamic interview questions generated based on job role and experience level
- 💬 Real-time Feedback: Instant AI feedback on your responses with constructive suggestions
- 🎯 Role-Specific: Tailored questions for Software Engineer, Data Scientist, and Product Manager roles
- 📊 Progress Tracking: Visual progress indicator showing completed questions
- 🎙️ Voice Recording: Built-in recording functionality (UI ready for implementation)
- 🌙 Dark Mode: Full dark mode support for better user experience
- 📱 Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- Framework: Next.js 15.5.2 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- AI Integration: OpenAI GPT-3.5-turbo
- Icons: Lucide React
- Package Manager: pnpm
- Node.js 18+
- pnpm
- OpenAI API key
-
Clone the repository
git clone <your-repo-url> cd hacathon
-
Install dependencies
pnpm install
-
Set up environment variables Create a
.env.localfile in the root directory:OPENAI_API_KEY=your_openai_api_key_here NEXT_PUBLIC_APP_NAME=AI Interview Assistant
-
Get your OpenAI API key
- Visit OpenAI Platform
- Create an account or sign in
- Navigate to API Keys section
- Create a new API key
- Copy the key and paste it in your
.env.localfile
-
Start the development server
pnpm dev
-
Open your browser Navigate to http://localhost:3000
- Select Job Role: Choose from Software Engineer, Data Scientist, or Product Manager
- Choose Experience Level: Select Entry, Mid, or Senior level
- Click "Start Interview": The AI will generate relevant questions for your profile
- Read the Question: Each question is displayed clearly in the main panel
- Type Your Response: Use the text area to write your answer
- Submit Response: Click "Submit Response" to get AI feedback
- Review Feedback: Read the AI-generated feedback and suggestions
- Track Progress: Monitor your progress in the sidebar
- AI Question Generation: Questions are dynamically generated based on your role and experience
- Real-time Feedback: Get instant, constructive feedback on your responses
- Progress Tracking: Visual indicators show completed questions
- Reset Functionality: Start over with a new interview anytime
Generates AI-powered interview questions based on job role and experience level.
POST /api/questions
{
"jobRole": "software-engineer",
"experienceLevel": "mid",
"questionCount": 5
}Provides AI feedback on interview responses.
POST /api/interview
{
"question": "What is the difference between synchronous and asynchronous programming?",
"response": "Your response here...",
"jobRole": "software-engineer",
"experienceLevel": "mid"
}src/
├── app/
│ ├── api/
│ │ ├── interview/
│ │ │ └── route.ts # AI feedback endpoint
│ │ └── questions/
│ │ └── route.ts # Question generation endpoint
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main interview interface
├── components/ # Reusable components (future)
└── types/ # TypeScript type definitions (future)
- Update the
sampleQuestionsobject insrc/app/page.tsx - Add corresponding questions in the API fallback in
src/app/api/questions/route.ts - Update the job role selector in the UI
Edit the prompt templates in:
src/app/api/questions/route.tsfor question generationsrc/app/api/interview/route.tsfor feedback generation
The application uses Tailwind CSS. Customize styles by:
- Modifying the
src/app/globals.cssfile - Adding custom Tailwind classes in components
- Updating the
tailwind.config.jsfor custom configurations
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically
The application can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review the code comments
- Voice-to-text transcription
- Video recording capabilities
- Interview session recording
- Performance analytics
- Custom question banks
- Multi-language support
- Interview scheduling
- Real-time collaboration
- Advanced AI models integration
- Mobile app version