{"id":49508934,"url":"https://github.com/abdullah-bl/infinite-learning","last_synced_at":"2026-05-01T18:04:09.024Z","repository":{"id":312324397,"uuid":"1046855717","full_name":"abdullah-bl/Infinite-learning","owner":"abdullah-bl","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-29T19:29:35.000Z","size":1531,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-29T21:49:13.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdullah-bl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-29T10:35:48.000Z","updated_at":"2025-08-29T19:29:38.000Z","dependencies_parsed_at":"2025-08-29T21:49:14.807Z","dependency_job_id":"9c0a3d9a-de01-4222-86ff-7bf62343186d","html_url":"https://github.com/abdullah-bl/Infinite-learning","commit_stats":null,"previous_names":["abdullah-bl/infinite-learning"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/abdullah-bl/Infinite-learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-bl%2FInfinite-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-bl%2FInfinite-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-bl%2FInfinite-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-bl%2FInfinite-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdullah-bl","download_url":"https://codeload.github.com/abdullah-bl/Infinite-learning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-bl%2FInfinite-learning/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32507094,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-01T18:03:54.678Z","updated_at":"2026-05-01T18:04:09.014Z","avatar_url":"https://github.com/abdullah-bl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Infinite Learning\n\nAn 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.\n\n![Infinite Learning](./public/iinfinite-learning.png)\n\n## ✨ Features\n\n- **🤖 AI-Powered Course Generation**: Uses WebLLM (Qwen3-0.6B model) to generate comprehensive courses on any topic\n- **📚 Interactive Learning**: Each course includes multiple lessons with detailed content and quizzes\n- **💾 Local Storage**: All courses are saved locally - no data leaves your browser\n- **🎯 Progress Tracking**: Track your learning progress across multiple courses\n- **📱 Responsive Design**: Beautiful, modern UI that works on all devices\n- **⚡ Fast \u0026 Offline**: AI model runs locally in your browser using WebGPU\n\n## 🎯 How It Works\n\n1. **Enter a Topic**: Type in anything you want to learn about\n2. **AI Generation**: The local AI model creates a structured course with lessons and quizzes\n3. **Interactive Learning**: Work through lessons at your own pace\n4. **Test Knowledge**: Take quizzes to reinforce your learning\n5. **Track Progress**: See your completion status and scores\n\n## 🛠️ Tech Stack\n\n- **Frontend**: React 19 + TypeScript + Vite\n- **Styling**: Tailwind CSS 4 + Radix UI components\n- **AI Model**: WebLLM with Qwen3-0.6B (runs locally)\n- **State Management**: Zustand\n- **Icons**: Lucide React\n- **Notifications**: Sonner\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js 18+ or Bun\n- Modern browser with WebGPU support (Chrome/Edge 113+, Firefox with experimental features)\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/yourusername/infinite-learning.git\ncd infinite-learning\n```\n\n2. Install dependencies:\n```bash\n# Using npm\nnpm install\n\n# Using bun (recommended)\nbun install\n```\n\n3. Start the development server:\n```bash\n# Using npm\nnpm run dev\n\n# Using bun\nbun dev\n```\n\n4. Open your browser and navigate to `http://localhost:5173`\n\n### Building for Production\n\n```bash\n# Using npm\nnpm run build\n\n# Using bun\nbun run build\n```\n\n## 🔧 Configuration\n\nThe application uses the Qwen3-0.6B model by default. You can modify the model in `src/components/CourseGenerator.tsx`:\n\n```typescript\nengineRef.current = await CreateWebWorkerMLCEngine(\n    new Worker(new URL('../worker.ts', import.meta.url), { type: 'module' }),\n    'Qwen3-0.6B-q4f32_1-MLC' // Change this to use a different model\n);\n```\n\n## 📁 Project Structure\n\n```\nsrc/\n├── components/\n│   ├── ui/              # Reusable UI components (buttons, cards, etc.)\n│   ├── CourseContent.tsx    # Main course viewing interface\n│   ├── CourseGenerator.tsx  # AI course generation logic\n│   ├── Quiz.tsx            # Interactive quiz component\n│   └── TopicInput.tsx      # Topic input form\n├── lib/\n│   └── utils.ts        # Utility functions\n├── store.ts            # Zustand state management\n├── worker.ts           # Web Worker for AI model\n└── App.tsx             # Main application component\n```\n\n## 🤝 Contributing\n\nContributions 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.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [WebLLM](https://github.com/mlc-ai/web-llm) for enabling local AI models in the browser\n- [Radix UI](https://www.radix-ui.com/) for accessible UI components\n- [Tailwind CSS](https://tailwindcss.com/) for styling\n- [Lucide](https://lucide.dev/) for beautiful icons\n\n---\n\n**Happy Learning! 🎓**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah-bl%2Finfinite-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdullah-bl%2Finfinite-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah-bl%2Finfinite-learning/lists"}