Skip to content

prxshetty/grokinterviews

Repository files navigation

GrokInterviews - Open Source Technical Interview Preparation Platform

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.

Next.js TypeScript Supabase React Tailwind CSS

Scale & Impact

  • 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

Key Features

Voice Interview Practice

  • 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

AI-Powered Learning

  • Dynamic Answer Generation using multiple LLM models
  • Personalized Learning Paths with intelligent resource recommendations
  • Smart Content Filtering by difficulty

Advanced Progress Tracking

  • 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

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Supabase account (for database)
  • Groq API key (for AI features)
  • Google Cloud TTS API key (for premium voice features)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/grokinterviews.git
    cd grokinterviews
  2. Install dependencies

    npm install
  3. 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=true

Then start the app locally and hit:

  • http://localhost:3000/topics?dev-auth=admin (sets the dev-bypass cookie for localhost)

Security note: this bypass is intended for local development only. Do not enable these flags in staging or production.

  1. Start development server

    npm run dev
  2. Open your browser

    http://localhost:3000
    

Project Structure

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
└── ...

Contributing

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Enterprise-grade interview preparation platform: 3.6+ million curated resources scraped from 20+ search engines across 5 domains.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors