Knewbit Max is an innovative AI-powered learning platform that revolutionizes how students engage with educational content. Built with cutting-edge technology, it provides personalized learning experiences through intelligent tutoring, multilingual video dubbing, and adaptive course recommendations.
- Personalized Learning: Adaptive AI tutor powered by Google Gemini's LearnLM
- Socratic Method: Guides students through questioning rather than direct answers
- Course Integration: Context-aware responses based on specific course content
- Educational Principles: Implements cognitive load management and active learning
- AI-Powered Translation: Convert course videos to multiple languages
- Voice Synthesis: Natural-sounding dubbing using advanced TTS
- Format Support: YouTube URLs and direct video uploads
- Quality Output: Optimized MP4 output with H.264 encoding
- Intelligent Matching: AI-driven course suggestions based on learning history
- Skill Assessment: Analyzes enrolled courses to understand user preferences
- Personalized Learning Paths: Tailored recommendations for optimal learning progression
- Dynamic Flashcards: Auto-generated from course content
- Adaptive Quizzes: Interactive assessments with instant feedback
- Progress Tracking: Comprehensive learning analytics
- Course Summaries: AI-generated key takeaways and concepts
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β External β
β (Next.js) βββββΊβ (FastAPI) βββββΊβ Services β
β β β β β β
β β’ React 19 β β β’ Python 3.13 β β β’ Google Gemini β
β β’ TypeScript β β β’ FastAPI β β β’ Sarvam TTS β
β β’ Tailwind CSS β β β’ Uvicorn β β β’ YouTube API β
β β’ Supabase β β β’ LangChain β β β’ FFmpeg β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
- Node.js 18+ and Bun
- Python 3.13+
- uv package manager
- Google API Key (for Gemini)
- FFmpeg (for video processing)
git clone https://github.com/your-username/knewbit-max.git
cd knewbit-maxcd backend
# Install dependencies
uv sync
# Create environment file
cp .env.example .env
# Add your API keys to .env
# Start the backend server
uv run main.pyThe backend will be available at http://localhost:8000
cd frontend
# Install dependencies
bun install
# Create environment file
cp .env.local.example .env.local
# Configure your environment variables
# Start the development server
bun devThe frontend will be available at http://localhost:3000
# Google AI Configuration
GOOGLE_API_KEY=your_gemini_api_key
# Course API Configuration
KNEWBIT_API_URL=http://localhost:3001
# Sarvam TTS API (for dubbing)
SARVAM_API_KEY=your_sarvam_api_key
# Optional: Database Configuration
DATABASE_URL=your_database_url# API Configuration
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
NEXT_PUBLIC_API_URL=http://localhost:3001
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keyknewbit-max/
βββ π frontend/ # Next.js React application
β βββ π src/
β β βββ π app/ # Next.js app router
β β βββ π components/ # React components
β β βββ π lib/ # Utility functions & API
β β βββ π types/ # TypeScript definitions
β β βββ π contexts/ # React context providers
β βββ package.json
β βββ README.md
βββ π backend/ # FastAPI Python application
β βββ main.py # FastAPI application entry
β βββ video_process.py # Video processing logic
β βββ course.py # Course recommendation logic
β βββ pyproject.toml # Python dependencies
β βββ requirements.txt # Alternative dependency format
β βββ README.md
βββ README.md # This file
- Framework: Next.js 15.3 with App Router
- Language: TypeScript 5
- UI: React 19 + Tailwind CSS 4
- State Management: React Context & Hooks
- Authentication: Supabase Auth
- HTTP Client: Fetch API with custom utilities
- Framework: FastAPI (async Python web framework)
- Language: Python 3.13
- AI Integration: Google Generative AI (Gemini)
- Package Manager: uv (ultra-fast Python package manager)
- Video Processing: FFmpeg + yt-dlp
- Rate Limiting: SlowAPI
- Orchestration: LangChain + LangGraph
- Language Model: Google Gemini 2.5 Flash
- Text-to-Speech: Sarvam AI TTS
- Video Processing: FFmpeg with H.264 encoding
- Educational Framework: LearnLM principles
cd frontend
# Start development server with Turbopack
bun dev
# Build for production
bun build
# Run linting
bun lintcd backend
# Start with auto-reload
uv run main.py
# Add new dependencies
uv add package-name
# Run tests (if available)
uv run pytestOnce the backend is running, access the interactive API documentation:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Health Check: http://localhost:8000/health
cd frontend
bun build
# Deploy the `out` directorycd backend
# Production server
uv run uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini for advanced AI capabilities
- Sarvam AI for multilingual TTS services
- Next.js and FastAPI communities
- LearnLM research for educational AI principles
For support, email [email protected] or join our Discord community.
Made with β€οΈ by the Knewbit Team