A comprehensive, enterprise-grade interview preparation platform featuring 3.6+ million curated resources and 81,499 technical questions across 5 major domains. This project aims to be the definitive open-source solution for technical interview preparation, engineered for scale and community contribution.
- 3,646,759 Learning Resources - Curated YouTube videos, research papers, PDFs, and educational content
- 81,499 Interview Questions across 5 comprehensive domains
- 16,300 Question Categories with hierarchical organization
- 2,394 Technical Topics covering all major interview preparation areas
- 22,482 Lines of Code in TypeScript/React/Next.js
- 30 RESTful API Endpoints for comprehensive data access
- 51 React Components with modular, reusable architecture
- Real-time Voice Interviews with AI-powered behavioral interview simulation
- Dual Interview Modes - Web-based interviews and authentic phone call experiences
- Advanced Voice Settings with multiple TTS providers (OpenAI TTS)
- Voice Activity Detection (VAD) for natural conversation flow
- Real-time Transcription with instant feedback during interviews
- Dynamic Answer Generation using multiple LLM models
- Personalized Learning Paths with intelligent resource recommendations
- Smart Content Filtering by difficulty
- Real-time Progress Analytics with completion percentages
- Hierarchical Progress Calculation (Domain → Section → Topic → Category → Questions)
- Visual Activity Grids showing learning streaks and patterns
- Intelligent Bookmarking System for personalized study plans
- Node.js 18+ and npm
- Supabase account (for database)
- Groq API key (for AI features)
- Google Cloud TTS API key (for premium voice features)
-
Clone the repository
git clone https://github.com/yourusername/grokinterviews.git cd grokinterviews -
Install dependencies
npm install
-
Environment Setup
cp .env.example .env.local # Add your credentials
Optional: Local development auth bypass
If you need to work locally without going through full auth each time, you can enable the dev-only bypass:
# Server + middleware checks
ENABLE_DEV_AUTH_BYPASS=true
# Client-side AuthProvider check
NEXT_PUBLIC_ENABLE_DEV_AUTH_BYPASS=trueThen start the app locally and hit:
http://localhost:3000/topics?dev-auth=admin(sets thedev-bypasscookie for localhost)
Security note: this bypass is intended for local development only. Do not enable these flags in staging or production.
-
Start development server
npm run dev
-
Open your browser
http://localhost:3000
grokinterviews/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── api/ # 30 API endpoints
│ │ ├── voice/ # Voice interview pages
│ │ ├── components/ # 51 React components
│ │ │ ├── ui/ # Shared UI components
│ │ │ ├── topics-ui/ # Topic-specific components
│ │ │ ├── questions/ # Question components
│ │ │ ├── progress/ # Progress tracking components
│ │ │ └── voice/ # Voice interview components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Database utilities
│ │ ├── types/ # TypeScript type definitions
│ │ └── utils/ # Helper functions
│ ├── components/ # Additional shared components
│ ├── services/ # External service integrations
│ └── utils/ # Core utilities
├── public/ # Static assets
├── DATABASE.md # Database schema documentation
├── HANDOFF.md # Development status and progress
└── ...
We welcome contributions! Please see our Contributing Guidelines for details. If you're looking for ideas on what to work on, feel free to check out our ROADMAP.md.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.