Prepify is an AI-powered interview preparation platform designed to help users practice and improve their interview skills. The application generates customized interview scenarios and provides feedback through AI assistance.
- Overview
- Features
- Technology Stack
- Getting Started
- Project Structure
- Authentication
- AI Integration
- Contributing
- License
Prepify helps users prepare for job interviews by providing a platform to practice interview scenarios. The application uses AI to generate interview questions and provides feedback to help users improve their interview skills.
- Interview Generation: Create customized interview scenarios based on user preferences
- User Authentication: Secure login and registration using Firebase
- Responsive Design: Mobile-friendly interface built with Tailwind CSS
- Theme Support: Light and dark mode support via next-themes
- AI Integration: Powered by AI assistants for realistic interview experiences
- React 19: UI component library
- Next.js 15.3.1: React framework for server-rendered applications
- TypeScript: Type-safe JavaScript
- Tailwind CSS: Utility-first CSS framework
- Firebase: Authentication and database
- Firebase Admin: Server-side Firebase functionality
- AI Integration: Using @ai-sdk/google and @vapi-ai/web for AI capabilities
- Radix UI: Unstyled, accessible UI components
- Lucide React: Icon library
- Sonner: Toast notifications
- React Hook Form: Form handling with validation via Zod
- Node.js (LTS version recommended)
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/prepify.git
cd prepify- Install dependencies:
npm install- Set up environment variables: Create a file in the root directory with your Firebase and AI API credentials.
.env.local - Start the development server:
npm run devThe application will be available at http://localhost:3000.
npm run dev: Starts the development server with Turbopacknpm run build: Builds the application for productionnpm run start: Starts the production servernpm run lint: Runs ESLint to check for code quality issues
prepify/
├── app/ # Next.js app directory
│ ├── (auth)/ # Authentication related pages
│ ├── (root)/ # Main application pages
│ ├── api/ # API routes
│ └── layout.tsx # Root layout component
├── components/ # React components
│ ├── ui/ # UI components
│ ├── Agent.tsx # AI agent component
│ ├── AuthForm.tsx # Authentication form
│ └── ... # Other components
├── lib/ # Utility functions and libraries
│ └── actions/ # Server actions
│ └── auth.actions.ts # Authentication actions
│ └── general.actions.ts # general actions
├── public/ # Static assets
├── types/ # TypeScript type definitions
├── firebase/ # Firebase configuration
└── constants/ # Application constants
Prepify uses Firebase Authentication for user management. The authentication flow includes:
- User registration with email and password
- Secure login
- Protected routes for authenticated users
- User profile management
The application integrates with AI services to provide a realistic interview experience:
- Interview Generation: AI creates customized interview questions based on job role and experience level
- Response Analysis: AI provides feedback on user responses
- Conversation Flow: Natural conversation handling through @vapi-ai/web
The Agent component serves as the main interface for AI interactions, handling different types of AI-assisted features like interview generation.
Contributions to Prepify are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is proprietary software. All rights reserved. © 2025 Prepify. All Rights Reserved.