🚀 Inspiration
We’re self-learners, tech enthusiasts, and curious minds. But every time we wanted to dive into a new topic—say "Rust Programming" or "Reinforcement Learning"—we had to open 20 YouTube tabs, skim 10 blogs, and pray the content was actually good.
We needed a smarter way to learn—something that could generate a full learning path, with structure, difficulty control, and high-quality videos, all personalized to us.
That’s how LearnHub was born.
Your personal AI curriculum generator, powered by Claude and YouTube, built to give you exactly what you need to learn—nothing more, nothing less.
💡 What it does
LearnHub takes your idea or curiosity and instantly builds a complete course around it. Structured, AI-generated, and packed with trusted resources.
Here’s how it works:
- 🎯 You enter a topic — e.g., “React”, “Machine Learning for Beginners”, or “Startup Finance”
- 📚 Pick a category (Programming, Science, Business, etc.)
- 🎓 Choose your difficulty (Beginner to Advanced)
- 🎭 Set the tone (Educational, Conversational, etc.)
Then the AI takes over 💥
- ✅ It generates chapter-wise structured content using Claude via Amazon Bedrock
- 📹 Fetches top YouTube videos for each chapter with intelligent ranking
- 📝 Includes summaries, key concepts, and real-world applications
- 📦 Bundles the full course as a JSON and uploads to S3
- 🧠 Let’s you explore, search, and view any course from the LearnHub library
No filler. No fluff. Just pure, personalized learning.
🏗️ How we built it
🔧 Backend (FastAPI + AWS)
- Claude (via Amazon Bedrock) for generating structured learning content
- Custom chapter prompts with tone, difficulty, and category adaptations
- YouTube Search + Stats API to fetch and rank videos per chapter
- Course data stored as JSON in Amazon S3
- REST APIs to generate, upload, and list courses
- Mangum for AWS Lambda compatibility (serverless deployment-ready)
💻 Frontend (React + Bootstrap)
- Clean, responsive UI with:
- Course Creation Wizard
- Dynamic Course Detail View with embedded YouTube
- Chapter navigation, Study Notes, Key Concepts, and more
- Course Creation Wizard
- Sidebar for quick access to features like Explore, Create, etc.
💾 Storage
- All generated courses are saved in S3 as structured JSON
- Metadata extracted on frontend to enable fast listing and previews
😵💫 Challenges we ran into
- ⚙️ Claude Prompt Tuning: Structuring the JSON and getting consistent output across chapters
- 🎥 Video Ranking: Designing a custom scoring logic for relevant YouTube videos
- 🧩 Dynamic Rendering: Creating a frontend that works across all course types and sizes
- 📦 S3 Uploads: Ensuring atomicity and traceability in file naming and storage
- 🔐 API Design: Maintaining clarity between course generation and course listing logic
🏆 Accomplishments we’re proud of
- 🧠 Full custom course generation with Claude in under 2 minutes
- 🎥 Curated videos per chapter, dynamically selected via YouTube API
- ⚡ Fast and responsive UI with beautiful layout and easy navigation
- ☁️ All courses stored and retrievable from S3 for instant reuse
- 🔍 Search + explore functionality for growing your personal knowledge base
📚 What we learned
- 🧠 Prompt engineering plays a HUGE role in how structured content turns out
- 🛠️ Serverless architectures (like FastAPI + S3 + Bedrock) scale effortlessly
- 🎥 Combining AI + real-world resources (YouTube) gives users the best of both worlds
- 📱 Simple UI wins—users want clarity, not clutter
- 🧪 Dynamic generation can still produce reliable, reusable content when designed carefully
🔮 What’s next for LearnHub
- 📝 Quiz Generator for each chapter using Claude
- 🎙️ Echo Mode: Generate and narrate courses like podcasts (EchoPod integration!)
- 🎨 Chapter Visualizer with auto-diagrams
- 🗂️ Save & Bookmark learning paths
- 🧑🎓 Multi-user support: Save progress, rate courses, suggest improvements
- 🌍 Language translation support (coming soon!)
Built With
- amazon-web-services
- aws-dynamodb
- aws-lambda
- bedrock
- bootstrap
- boto3
- claude
- fastapi
- google-cloud-services
- pycharm
- react
- youtubeapi
Log in or sign up for Devpost to join the conversation.