Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

abdullah-bl/infinite-learning

Repository files navigation

πŸš€ Infinite Learning

An AI-powered personalized learning platform that generates interactive micro-courses on any topic you're curious about. Built with React, TypeScript, and powered by local AI models running directly in your browser.

Infinite Learning

✨ Features

  • πŸ€– AI-Powered Course Generation: Uses WebLLM (Qwen3-0.6B model) to generate comprehensive courses on any topic
  • πŸ“š Interactive Learning: Each course includes multiple lessons with detailed content and quizzes
  • πŸ’Ύ Local Storage: All courses are saved locally - no data leaves your browser
  • 🎯 Progress Tracking: Track your learning progress across multiple courses
  • πŸ“± Responsive Design: Beautiful, modern UI that works on all devices
  • ⚑ Fast & Offline: AI model runs locally in your browser using WebGPU

🎯 How It Works

  1. Enter a Topic: Type in anything you want to learn about
  2. AI Generation: The local AI model creates a structured course with lessons and quizzes
  3. Interactive Learning: Work through lessons at your own pace
  4. Test Knowledge: Take quizzes to reinforce your learning
  5. Track Progress: See your completion status and scores

πŸ› οΈ Tech Stack

  • Frontend: React 19 + TypeScript + Vite
  • Styling: Tailwind CSS 4 + Radix UI components
  • AI Model: WebLLM with Qwen3-0.6B (runs locally)
  • State Management: Zustand
  • Icons: Lucide React
  • Notifications: Sonner

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ or Bun
  • Modern browser with WebGPU support (Chrome/Edge 113+, Firefox with experimental features)

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/infinite-learning.git
cd infinite-learning
  1. Install dependencies:
# Using npm
npm install
# Using bun (recommended)
bun install
  1. Start the development server:
# Using npm
npm run dev
# Using bun
bun dev
  1. Open your browser and navigate to http://localhost:5173

Building for Production

# Using npm
npm run build
# Using bun
bun run build

πŸ”§ Configuration

The application uses the Qwen3-0.6B model by default. You can modify the model in src/components/CourseGenerator.tsx:

engineRef.current = await CreateWebWorkerMLCEngine(
 new Worker(new URL('../worker.ts', import.meta.url), { type: 'module' }),
 'Qwen3-0.6B-q4f32_1-MLC' // Change this to use a different model
);

πŸ“ Project Structure

src/
β”œβ”€β”€ components/
β”‚ β”œβ”€β”€ ui/ # Reusable UI components (buttons, cards, etc.)
β”‚ β”œβ”€β”€ CourseContent.tsx # Main course viewing interface
β”‚ β”œβ”€β”€ CourseGenerator.tsx # AI course generation logic
β”‚ β”œβ”€β”€ Quiz.tsx # Interactive quiz component
β”‚ └── TopicInput.tsx # Topic input form
β”œβ”€β”€ lib/
β”‚ └── utils.ts # Utility functions
β”œβ”€β”€ store.ts # Zustand state management
β”œβ”€β”€ worker.ts # Web Worker for AI model
└── App.tsx # Main application component

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  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.

πŸ™ Acknowledgments


Happy Learning! πŸŽ“

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /