NXT_HIRE_AI is an interactive, voice-based mock interview platform powered by AI. It generates tailored interview questions, listens to your spoken responses, and provides instant AI-driven feedback to help you prepare effectively for your next job interview.
- 🎙️ Voice-based mock interviews with an AI interviewer (powered by Vapi).
- 🧠 Dynamic question generation based on your chosen job role and experience (powered by Google Gemini).
- ⏱ Timed responses to simulate real interview pressure.
- 💬 Instant AI feedback on your performance.
- � Secure Authentication using Firebase.
- 🎨 Modern UI built with Next.js, Tailwind CSS, and Shadcn UI.
- 📊 Interview History to track your progress.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS + Shadcn UI
- AI Integration:
- Vapi AI (Voice AI)
- Google Gemini (Generative AI)
- Database & Auth: Firebase
- State Management: React Hooks & Server Actions
- Form Handling: React Hook Form + Zod
- Icons: Lucide React
Follow these steps to set up the project locally.
- Node.js (v18 or later)
- npm or yarn
git clone https://github.com/YOUR_USERNAME/nxt_hire_ai.git
cd nxt_hire_ainpm install
# or
yarn installCreate a .env.local file in the root directory and add the following variables. You will need credentials from Firebase, Vapi, and Google AI.
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id
# Vapi AI Configuration
NEXT_PUBLIC_VAPI_PUBLIC_KEY=your_vapi_public_key
VAPI_SECRET_KEY=your_vapi_secret_key
# Google Gemini Configuration
GEMINI_API_KEY=your_gemini_api_keynpm run dev
# or
yarn devOpen http://localhost:3000 in your browser to see the application.
npm run dev: Starts the development server.npm run build: Builds the application for production.npm run start: Runs the built production application.npm run lint: Runs ESLint to check for code quality issues.
nxt_hire_ai/
├── app/
│ ├── (auth)/ # Authentication routes (Sign In, Sign Up)
│ ├── (root)/ # Main application routes
│ │ ├── interview/ # Interview generation page
│ │ └── page.tsx # Landing page
│ ├── api/ # API routes (e.g., Vapi integration)
│ └── globals.css # Global styles
├── components/ # Reusable UI components
│ ├── ui/ # Shadcn UI components
│ ├── Agent.tsx # AI Agent component
│ └── ...
├── lib/ # Utility functions and actions
│ ├── actions/ # Server actions (Auth, etc.)
│ └── utils.ts # Helper functions
├── public/ # Static assets
└── ...
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name. - Make your changes and commit them:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature/your-feature-name. - Submit a pull request.
This project is licensed under the MIT License.
Made with ❤️ to empower job seekers.