Skip to content

Knewbit/knewbit-max

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Knewbit Max - AI-Powered Learning Platform

Knewbit Max Version Status

Next-generation learning platform powered by AI for personalized education

🌟 Overview

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.

✨ Key Features

πŸ€– AI Tutor

  • 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

🎬 Multilingual Video Dubbing

  • 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

πŸ“š Smart Course Recommendations

  • 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

πŸ“Š Interactive Learning Tools

  • 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

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   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        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and Bun
  • Python 3.13+
  • uv package manager
  • Google API Key (for Gemini)
  • FFmpeg (for video processing)

1. Clone the Repository

git clone https://github.com/your-username/knewbit-max.git
cd knewbit-max

2. Setup Backend

cd 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.py

The backend will be available at http://localhost:8000

3. Setup Frontend

cd frontend

# Install dependencies
bun install

# Create environment file
cp .env.local.example .env.local
# Configure your environment variables

# Start the development server
bun dev

The frontend will be available at http://localhost:3000

πŸ”‘ Environment Variables

Backend (.env)

# 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

Frontend (.env.local)

# 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_key

πŸ“ Project Structure

knewbit-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

πŸ› οΈ Technology Stack

Frontend

  • 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

Backend

  • 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

AI Services

  • Language Model: Google Gemini 2.5 Flash
  • Text-to-Speech: Sarvam AI TTS
  • Video Processing: FFmpeg with H.264 encoding
  • Educational Framework: LearnLM principles

πŸ”§ Development

Frontend Development

cd frontend

# Start development server with Turbopack
bun dev

# Build for production
bun build

# Run linting
bun lint

Backend Development

cd backend

# Start with auto-reload
uv run main.py

# Add new dependencies
uv add package-name

# Run tests (if available)
uv run pytest

πŸ“Š API Documentation

Once the backend is running, access the interactive API documentation:

🌍 Deployment

Frontend (Vercel/Netlify)

cd frontend
bun build
# Deploy the `out` directory

Backend (Docker/Cloud)

cd backend
# Production server
uv run uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4

🀝 Contributing

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

πŸ“„ License

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

πŸ™ Acknowledgments

  • Google Gemini for advanced AI capabilities
  • Sarvam AI for multilingual TTS services
  • Next.js and FastAPI communities
  • LearnLM research for educational AI principles

πŸ“ž Support

For support, email [email protected] or join our Discord community.


Made with ❀️ by the Knewbit Team

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 72.0%
  • Python 23.7%
  • JavaScript 2.3%
  • CSS 2.0%