ProofPrep
AI-Powered Interview Preparation Platform
Practice Real Questions. Get Instant Feedback. Land the Job.
Overview
ProofPrep is an AI-powered personal interview coach designed to help users practice real-time, voice-based interview sessions. It simulates live interviews and provides feedback, creating a smart and repeatable prep experience for effective interview preparation.
Features
Core Functionality
AI Interview Simulation: Engage in realistic interview scenarios with our AI interviewer that adapts to your responses.
Real-time Feedback: Receive immediate feedback on your answers during the interview process.
Detailed Performance Analysis: Get comprehensive performance reports with scores across different categories.
Interview History: Track your progress over time by reviewing past interview sessions.
Interview Recording (Pro Feature): Record your interview sessions for later review and analysis.
Subscription Plans: Three-tiered subscription model - Entry (free with 3 credits), Starter, and Pro plans.
Flexible Payment Options: Subscription management via Lemon Squeezy plus one-off credit purchases via DaimoPay/Base.
Smooth Onboarding: Intuitive welcome experience and guided tutorials for new users.
Interactive UI: Engaging animations and micro-interactions throughout the platform for enhanced user experience.
Camera Integration: Seamless video recording with preview and embedded modes for interview practice.
Responsive Dashboard: Visual metrics to track your progress and usage over time.
Technical Features
Next.js Framework: Built with Next.js for server-side rendering and optimal performance.
Firebase Authentication: Secure user authentication with email/password and Google Sign-In options.
Firestore Database: Scalable NoSQL database for storing user data and interview sessions.
Tailwind CSS: Modern, responsive UI with custom design system.
Hybrid Payment System: Lemon Squeezy for subscriptions and DaimoPay for cryptocurrency-based credit purchases.
Web3 Integration: Base network support and Coinbase Wallet API v2 for one-off credit purchases.
Vercel: Cloud platform for deploying and hosting the application.
GSAP Animation: Advanced animations including text splitting, interactive elements, and scroll-triggered effects.
Interactive Data Visualizations: Chart.js and Recharts for displaying user metrics and progress.
Radix UI Components: Accessible UI primitives enhanced with custom styling.
Context API: Efficient state management for features like feedback and onboarding.
Design System
Color Palette:
Primary teal/aqua shades (#b8e8f0, #65bdcc)
Very dark backgrounds (#020808, #272f33) for main surfaces
Light teal accents (#d9f2f6) for text and highlights
Status indicators: Green (#49de50) and red (#f75353)
Visual Style:
Dark mode focused with light text as the primary theme
Custom gradients including dark gradient (#1A1C20 to #08090D), teal gradients, and border gradients for highlights
Professional, tech-forward aesthetic that builds user trust
UI Elements:
Heavy use of rounded corners (rounded-2xl, rounded-full)
Card-based design with dark cards and teal accents
Subtle animations including border animations and fade effects
Modern button styles with teal buttons and dark text for primary actions
Mona Sans font family for clean, professional typography
Demo
You can try ProofPrep live here:
Watch a video demo:
Problem Statement
Traditional interview preparation methods often fall short in several ways:
Lack of Realism: Reading interview questions and preparing answers doesn't simulate the pressure of a real interview.
No Immediate Feedback: Practice with friends or mentors doesn't provide objective, consistent feedback.
Limited Accessibility: Professional interview coaching is expensive and not accessible to everyone.
Difficulty Tracking Progress: Most preparation methods don't offer a way to measure improvement over time.
Industry-Specific Preparation: Different roles require different preparation approaches.
Solution
ProofPrep addresses these challenges by:
Creating Realistic Scenarios: Our AI interviewer simulates real interview conditions, including follow-up questions based on your responses.
Providing Objective Feedback: Get consistent, data-driven feedback on your performance.
Making Preparation Accessible: Available 24/7 at a fraction of the cost of professional coaching, with a free tier for everyone.
Enabling Progress Tracking: Review past interviews and see improvement across different skill categories.
Offering Role-Specific Practice: Choose from various job roles and technical stacks for targeted preparation.
Technical Implementation
Architecture
Frontend: Next.js with React
Authentication: Firebase Auth
Database: Firestore
AI: Custom LLM implementation for interview simulation
Payment: Lemon Squeezy for subscription management + DaimoPay/Base for additional credit purchases
Key Components
Interview Engine: Powers the AI interviewer, generating questions and evaluating responses.
Feedback System: Analyzes interview performance across multiple dimensions.
User Dashboard: Displays interview history and performance metrics.
Authentication System: Manages user accounts and session persistence.
Challenges and Solutions
Challenge 1: Realistic AI Interviewer
Problem: Generating contextually relevant interview questions and maintaining conversation flow.
Solution: Implemented a sophisticated prompt engineering approach with context awareness, allowing the AI to maintain conversation history and adapt questions based on previous answers.
Challenge 2: Payment Integration
Problem: Integrating multiple payment methods for different purchase types.
Solution: Implemented a hybrid payment system using Lemon Squeezy for subscription management and DaimoPay/Base chain for cryptocurrency-based one-off credit purchases, providing flexibility while maintaining a consistent user experience.
Challenge 3: Authentication and Session Management
Problem: Handling user authentication across different parts of the application.
Solution: Implemented Firebase authentication with custom hooks and server-side session validation, ensuring secure access to protected routes and resources.
Challenge 4: Performance Optimization
Problem: Ensuring fast load times and responsive UI despite complex AI operations.
Solution: Utilized Next.js server components, implemented efficient state management, optimized API calls, and employed code splitting to minimize latency. Applied performance optimizations for animations and interactive elements.
Challenge 5: User Onboarding
Problem: Ensuring new users understand how to use the platform without overwhelming them.
Solution: Implemented a welcome modal for first-time users and an on-demand multi-step tutorial accessible via a help button, providing just-in-time guidance with interactive tooltips.
Future Enhancements
Personalized Learning Paths: Customize interview preparation based on user performance and goals.
Industry-Specific Modules: Expand interview types to cover more industries and roles.
Peer Review: Allow users to share interview recordings for feedback from peers.
Advanced Analytics: Provide deeper insights into performance patterns over time.
Mobile Application: Develop native mobile apps for iOS and Android.
Enhanced Interactive Elements: Further expand interactive UI elements and animations.
Customizable Dashboard: Allow users to personalize their dashboard views and widgets.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Environment Setup
Required Environment Variables
Create a .env.local
file in the root directory with the following variables:
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PRIVATE_KEY=
# Vapi Configuration
NEXT_PUBLIC_VAPI_WEB_TOKEN=
# Lemon Squeezy Configuration
LEMON_SQUEEZY_API_KEY=
LEMON_SQUEEZY_STORE_ID=
LEMON_SQUEEZY_WEBHOOK_SECRET=
# Coinbase CDP SDK Configuration
CDP_API_KEY_ID=
CDP_API_KEY_SECRET=
CDP_WALLET_SECRET=
Note: Do not use quotes around the environment variable values, especially for FIREBASE_PRIVATE_KEY
, as Next.js will interpret them literally.
Documentation
Terms of Use - User guidelines and platform usage terms
Terms and Conditions - Comprehensive legal agreement
Installation
npm install
npm run dev
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your 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
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Lemon Squeezy for subscription management services
Base for providing the blockchain infrastructure for additional credit purchases
Daimo Pay for the payment processing SDK for one-off credit purchases
Coinbase for the Wallet API v2 integration
Vapi for the voice AI integration
Firebase for authentication and database services
Next.js for the React framework
Tailwind CSS for the utility-first CSS framework
Last updated