Built for UN SDG 4: Quality Education — Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all.
Inspiration
We started with a simple question: Why are we paying $50–$500 for online courses when 95% of that knowledge already exists for free on the internet?
YouTube has millions of educational videos. GitHub has thousands of open-source tutorials. MIT, Khan Academy, freeCodeCamp, W3Schools — they all offer world-class content for free. The knowledge is there. But it's scattered, unstructured, and lacks the features that make paid courses effective — quizzes, progress tracking, and personalized support.
This hits hardest for the people who need education the most. 250 million children worldwide are out of school. Millions of college students in developing countries can't afford a single Udemy course. The UN's SDG 4 calls for "inclusive and equitable quality education and lifelong learning opportunities for all" — but how can education be equitable when it's locked behind paywalls?
The gap isn't content. It's curation. That's what inspired OpenPath — an AI-powered platform that turns the free internet into a personal university.
What it does
OpenPath lets anyone build a structured, personalized course from free resources on the internet — in under a minute.
The flow is simple:
- Search — Type any topic (e.g., "DevOps", "Machine Learning", "AWS Cloud")
- Discover — OpenPath finds real YouTube videos (with thumbnails and view counts) and articles, documentation, and GitHub repos from across the web
- Pick — Preview resources before selecting. Watch YouTube thumbnails, check descriptions, see source tags (YouTube, GitHub, freeCodeCamp, etc.). You choose what goes into YOUR course
- Build — AI (Amazon Bedrock Nova Pro) structures your selections into a sequenced course with logical modules — from foundational concepts to advanced topics
- Learn — Work through each resource. After every single resource, take an AI-generated quiz (3-5 questions) to test your understanding
- Ask — Chat with an AI assistant that has read ALL your course content. It answers questions with citations, like having a personal tutor who studied everything you're studying
- Track — See your progress, quiz scores, strengths, and weaknesses in an analytics dashboard
- Share — Share your entire course with anyone via a single HTTPS link. They see the same course, same quizzes, same AI assistant
Key differentiators:
- Zero original content — it's a course builder, not a course platform
- The learner curates, the AI structures
- Per-resource quizzes (not per-module) for immediate reinforcement
- AI assistant uses in-prompt RAG — it actually knows your specific course content
- Difficulty indicator (beginner/intermediate/advanced) assigned by AI
- Courses persist in DynamoDB and are shareable via public links
How we built it
Architecture: 100% serverless on AWS
- Frontend: React + TypeScript + Vite, deployed on S3 + CloudFront (HTTPS)
- Backend: 7 AWS Lambda functions (Node.js 20, ARM64) behind API Gateway
- AI Engine: Amazon Bedrock (Nova Pro) via the Converse API — handles course structuring, quiz generation, quiz scoring, resource summarization, and the AI assistant
- Search: YouTube Data API v3 for real video results + Tavily API for articles/docs/repos + Bedrock for metadata enrichment
- Database: DynamoDB single-table design (all entities in one table with composite keys)
- Storage: S3 for resource summaries (used as RAG context for the AI assistant)
- Infrastructure: AWS SAM (Infrastructure as Code) — entire stack defined in one
template.yaml
AI Pipeline:
- When you build a course, Bedrock generates a 500-1000 word summary of each resource and stores it in S3
- When you chat with the AI assistant, it loads ALL summaries from S3 and injects them into the system prompt (in-prompt RAG)
- The AI answers based on your specific course content — not generic knowledge
- Quiz questions are generated from individual resource summaries, making them specific and relevant
Design decisions:
- In-prompt RAG instead of Bedrock Knowledge Base — faster setup, no vector DB, works within hackathon timeline
- YouTube Data API for real URLs — Bedrock hallucinates YouTube links, so we use the real API
- Session-based with no authentication — zero friction for users
- Public course records in DynamoDB — enables link sharing without login
- localStorage cache + DynamoDB — My Learning loads instantly from cache, syncs with server in background
Challenges we ran into
Lambda ES Module errors — Our TypeScript compiled to ES modules, but Lambda's Node.js runtime expected CommonJS. We switched to esbuild bundling with a
package.jsoncontaining"type": "module"in the dist folder.API Gateway 29-second timeout — Running 5 parallel Tavily searches + Bedrock enrichment exceeded the API Gateway hard limit. We reduced to 3 searches with 8-second timeouts per query and switched to
basicsearch depth.Shared course links failing — Course data was tied to the creator's session ID. When someone else opened the link, they got "Course not found." We added public course records in DynamoDB (keyed by courseId) so anyone with the link can access the course.
AI assistant disclaiming access — The AI kept saying "I don't have access to your course selections" despite having the summaries in context. We rewrote the system prompt to be more forceful — explicitly telling the AI it HAS access and should never disclaim.
Mixed content blocking — S3 static website hosting is HTTP-only. Browsers blocked API calls from HTTP to HTTPS. We added CloudFront in front of S3 for HTTPS access.
Accomplishments that we're proud of
It actually works end-to-end — Search → Pick → Build → Quiz → AI Chat → Share. Every feature is live and deployed, not a mockup.
Real YouTube videos — Not fake AI-generated links. Real videos with real thumbnails from the YouTube Data API.
The AI assistant genuinely knows your content — It reads summaries of every resource you selected and answers with citations. Ask it about a specific video in your course and it responds accurately.
Shareable courses — One link and your friend sees your entire course with quizzes and AI assistant. Education becomes collaborative.
Built and deployed in 24 hours — 7 Lambda functions, React frontend, DynamoDB, S3, CloudFront, API Gateway — all working in production on AWS.
$0.50 total AWS cost — Fully serverless, scales to zero when idle. Quality education doesn't need to be expensive to build OR to use.
What we learned
In-prompt RAG is surprisingly effective for small-to-medium context sizes. We didn't need a vector database or Bedrock Knowledge Base — just injecting resource summaries into the system prompt works well for course-sized content.
AI prompt engineering matters more than architecture. The difference between an AI that says "I don't have access" and one that confidently answers your questions came down to 5 lines of prompt text.
YouTube Data API is essential when you need real video links. LLMs cannot reliably generate YouTube URLs — they hallucinate plausible-looking but non-existent video IDs.
Serverless is perfect for hackathons — no servers to manage, no scaling to worry about, and costs are near-zero for demo traffic.
The real problem in education isn't content — it's curation. Free resources are abundant. What's missing is someone (or something) to find them, organize them, and add the learning scaffolding (quizzes, tracking, support) that makes them effective.
What's next for OpenPath
YouTube transcript integration — Pull actual video transcripts using the YouTube Transcript API (like our Tech Builders project) to give the AI assistant much deeper knowledge of video content
Voice chat with AI assistant — Speak your questions instead of typing, using Amazon Transcribe + Polly
Multi-language support — Search and learn in any language, with AI translating resource summaries
Community course library — Browse and clone courses created by other users
Spaced repetition — Re-quiz users on topics they scored low on, at increasing intervals
Mobile app — React Native version for offline learning
Teacher dashboard — Let teachers create and assign courses to students, track class-wide progress
OpenPath — Because knowledge should be free, and learning should be structured.
Built With
- amazon-api-gateway
- amazon-bedrock
- amazon-cloudfront
- amazon-dynamodb
- amazon-nova-pro
- amazon-web-services
- aws-lambda
- aws-sam
- node.js
- react
- tavily-api
- typescript
- vite
- vitest
- youtube-data-api
Log in or sign up for Devpost to join the conversation.