Inspiration

Andrej Karpathy's "Zero to Hero" playlist sat in my Watch Later for months. I started it three times and never got past video two: forty minutes into "Let's build GPT", YouTube had me watching travel vlogs instead.

YouTube has the best free teachers in the world. What it doesn't have is a course: a plan, a finish line, and a way to check you understood. It's built to make you watch more, not learn more. CourseIt adds the structure and nothing else.

What it does

Paste any YouTube video or playlist link and CourseIt turns it into a course you actually finish:

  • Real lessons split where the topic actually changes (8–25 minutes each, snapped to the creator's chapters)
  • A placement test of 10 questions that drops lessons you already know and shows the hours you saved
  • A daily plan that packs the course into days around the minutes you have
  • Study notes and a quiz for every lesson, with explanations
  • Replay the moment: a wrong answer jumps the video to the exact second the idea is taught
  • Further reading for each lesson, found by Tavily
  • Your own notes, pinned to the moment in the video
  • Roadmaps that combine courses from different creators into one learning path, plus a community of courses others have built

Videos play in YouTube's own player, so creators keep their views.

How we built it

Every word a learner reads comes from NVIDIA Nemotron on Nebius Token Factory, called at runtime through its OpenAI-compatible API. Each job uses the model that fits it:

Job Model Why
Plan the course from hours of transcript Nemotron 3 Ultra Long context and real reasoning about where one idea ends and the next begins
Write the placement test Nemotron 3 Ultra Has to reason across the whole course at once (~300k characters)
Write every lesson (notes + quiz) Nemotron 3 Super High quality at a fraction of Ultra's cost; dozens of lessons are written in parallel
Backups when a model is busy Nemotron 3.5 Lightning, Nemotron 3 Nano Fast, cheap, always available

Pipeline: YouTube Data API v3 (titles, chapters, durations) → Supadata (captions) → Nemotron 3 Ultra (lesson plan and placement test) → Nemotron 3 Super (notes and quizzes, in parallel) + Tavily (further reading) → Neon Postgres.

Stack: Next.js 16, React 19, TypeScript, Tailwind CSS 4, Drizzle ORM, Auth.js, Inngest for durable background builds, hosted on Vercel.

What makes it reliable:

  • Schema-enforced JSON: every call sends a strict JSON Schema, so answers always have the right shape. Each answer is also checked for meaning (timestamps clamped into the video, lesson numbers must exist).
  • Thinking off where it doesn't pay: lesson planning dropped from 10–100 s to about 8 s with the same quality.
  • Busy-proof: on 429/5xx it retries, then moves down a chain of Nemotron models, so a learner gets a lesson instead of an error.
  • Resumable builds: every step is saved, so a crash resumes where it stopped and "Retry" writes only what's missing.

Challenges we ran into

  • Parallel load: writing every lesson at once hit busy responses (429/529). Retries plus a fallback chain of Nemotron models fixed it.
  • Malformed JSON: json_object mode occasionally returned broken answers (options as one string, unparseable JSON). Switching to strict json_schema solved it.
  • Latency: thinking mode made planning take up to 100 s. Turning it off per request brought it to about 8 s.
  • Splitting on real topic boundaries, not fixed time chunks, across hours of transcript.

Accomplishments that we're proud of

  • A full course from a 4-hour playlist in under a minute, and you can start lesson 1 while the rest is still being written
  • "Replay the moment": every quiz question is tied to the exact second it's taught
  • A placement test that actually shortens your course
  • One course built once and shared by every learner, so it costs nothing to open again

What we learned

  • Pick the model per task: Ultra for reasoning across a whole course, Super for bulk writing, small models as backups
  • Strict JSON schemas plus meaning checks turn an LLM into a reliable component
  • Turning thinking off for structured tasks can cut latency by 10× without hurting quality

What's next for CourseIt

  • Pro plan with more uploads per month
  • Certificates co-signed by the creator who taught the course
  • An open community where any learner can publish and share roadmaps, and see how many people are following them

Built With

  • auth.js
  • nebius-token-factory
  • nemotron-3-super
  • nemotron-3-ultra
  • neon
  • nextjs
  • nvidia-nemotron
  • postgresql
  • tavily
  • typescript
  • vercel
Share this project:

Updates

Submission history