https://github.com/aryprogrammer/interviewme
A realistic interview call experience providing platform built with Vapi and Love
https://github.com/aryprogrammer/interviewme
agentic-workflow firebase firebase-auth firestore gemini-api interview-preparation nextjs15-typescript shadcn-ui vapi zod-validation
Last synced: about 1 month ago
JSON representation
A realistic interview call experience providing platform built with Vapi and Love
- Host: GitHub
- URL: https://github.com/aryprogrammer/interviewme
- Owner: ARYPROGRAMMER
- License: mit
- Created: 2025-04-09T14:33:09.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-13T11:36:42.000Z (about 1 year ago)
- Last Synced: 2025-04-19T00:20:13.580Z (about 1 year ago)
- Topics: agentic-workflow, firebase, firebase-auth, firestore, gemini-api, interview-preparation, nextjs15-typescript, shadcn-ui, vapi, zod-validation
- Language: TypeScript
- Homepage: https://interview-me-beta.vercel.app
- Size: 1.29 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# InterviewMe - AI-Powered Interview Prep Platform
[](https://interview-me-beta.vercel.app/)
[](https://nextjs.org/)
[](https://reactjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://firebase.google.com/)
[](./LICENSE)
A modern web application designed to help users prepare for technical interviews with AI-powered interview simulations and detailed feedback. Perfect for job seekers, coding bootcamp graduates, and professionals looking to advance their careers.
## π Table of Contents
- [β¨ Features](#-features)
- [π οΈ Tech Stack](#-tech-stack)
- [π Getting Started](#-getting-started)
- [π Project Structure](#-project-structure)
- [π Usage Guide](#-usage-guide)
- [π API Documentation](#-api-documentation)
- [π§© Component Library](#-component-library)
- [β οΈ Troubleshooting](#-troubleshooting)
- [πΊοΈ Roadmap](#-roadmap)
- [π€ Contributing](#-contributing)
- [π License](#-license)
- [π Acknowledgments](#-acknowledgments)
## β¨ Features
- **π€ AI-Powered Interviews**: Simulate real interview experiences with our advanced AI agent that adapts to your skill level
- **π Personalized Feedback**: Receive detailed feedback on your interview performance with actionable improvement suggestions
- **π§ Technical Skills Assessment**: Get evaluated on technical knowledge, problem-solving abilities, communication skills, and cultural fit
- **π Interview History**: Track your progress and review past interview sessions with performance analytics
- **π User Authentication**: Secure user accounts with Firebase authentication and role-based access control
- **π± Responsive Design**: Fully functional on all devices from mobile to desktop with adaptive UI components
- **π Multi-language Support**: Practice interviews in different languages to prepare for global opportunities
- **π§ Industry-specific Questions**: Tailored interview scenarios for different tech sectors and roles
## π οΈ Tech Stack
Next.js
React
TypeScript
Tailwind
Firebase
Vercel
### Core Technologies
- **Frontend**: Next.js 15, React 19, TypeScript 5
- **Styling**: TailwindCSS 4, Class Variance Authority, shadcn/ui
- **State Management**: React Context, Server Components
- **Authentication**: Firebase Authentication with custom claims
- **Database**: Firebase Firestore with optimized queries
- **AI Integration**: AI SDK, VAPI AI with streaming responses
- **Form Handling**: React Hook Form, Zod validation
- **UI Components**: Radix UI primitives with custom styling
- **Deployment**: [Vercel](https://interview-me-beta.vercel.app/) with Edge Functions
## π Getting Started
### Prerequisites
- Node.js 18.x or higher
- npm, yarn, or pnpm package manager
- Firebase account for authentication and database
- VAPI AI account for interview simulation API access
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/ARYPROGRAMMER/InterviewMe
cd InterviewMe
```
2. **Install dependencies**
```bash
npm install
# or
yarn install
# or
pnpm install
```
3. **Set up Firebase**
- Create a new Firebase project at [Firebase Console](https://console.firebase.google.com/)
- Enable Authentication with Email/Password and Google providers
- Create a Firestore database in production mode
- Set up Firebase Admin SDK credentials
4. **Configure environment variables**
Create a `.env.local` file in the root directory with your credentials:
```
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Firebase Admin
FIREBASE_ADMIN_PROJECT_ID=your_project_id
FIREBASE_ADMIN_CLIENT_EMAIL=your_client_email
FIREBASE_ADMIN_PRIVATE_KEY=your_private_key
# VAPI AI
NEXT_PUBLIC_VAPI_API_KEY=your_vapi_key
# Optional: Google AI for enhanced features
GOOGLE_API_KEY=your_google_api_key
```
4. Run the development server
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
```
5. Open [http://localhost:3000](http://localhost:3000) with your browser to see the application
## π Project Structure
```
app/ # Next.js app router
(auth)/ # Authentication routes
(root)/ # Main application routes
interview/ # Interview simulation
[id]/ # Individual interview session
feedback/ # Interview feedback
components/ # React components
ui/ # UI components (buttons, forms, etc.)
constants/ # Application constants
firebase/ # Firebase configuration
lib/ # Utility functions and actions
actions/ # Server actions
public/ # Static assets
types/ # TypeScript type definitions
```
## π Usage
1. Create an account or sign in with your credentials
2. Select a new interview from the dashboard
3. Choose your interview settings (experience level, technologies)
4. Start the interview session with the AI interviewer
5. After completing the interview, you'll receive detailed feedback on your performance
6. Review your interview history and track your improvement over time
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the project
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
### Development Guidelines
- Follow the existing code style and naming conventions
- Write tests for new features or bug fixes
- Update documentation for any changed functionality
- Reference relevant issues in your pull request
## π License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
## π Acknowledgments
- Next.js team for the incredible framework
- Vercel for the deployment platform
- Firebase for authentication and database services
- VAPI AI for the interview simulation capabilities
- shadcn/ui for the component library foundation
- All contributors are appreciated - till now only ME
---