explaingit

threeorz1027-svg/quiztube

18HTMLAudience · generalComplexity · 2/5Setup · moderate

TLDR

Turn any Bilibili video into Cornell-style study notes and quiz questions. Paste a link, get AI-generated notes you can edit, plus multiple-choice quizzes that track your mistakes for spaced review.

Mindmap

mindmap
  root((QuizTube))
    Input
      Bilibili video link
      Multi-part merging
      Subtitle fetch
    Notes
      Cornell format
      Cues column
      Summary section
      Rich text editor
    Quiz
      Multiple choice
      Short answer
      Wrong answer repeat
    AI Setup
      OpenAI compatible API
      Config page
      Env variables
    Tech
      FastAPI backend
      Tailwind CSS UI
      yt-dlp and ffmpeg
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Convert a Bilibili lecture or tutorial video into structured Cornell notes for studying

USE CASE 2

Auto-generate quiz questions from video content to test your understanding

USE CASE 3

Merge notes from multi-part Bilibili video series into one document

USE CASE 4

Self-host a personal video-to-study-tool using your own AI API key

Tech stack

FastAPIPythonHTMLTailwind CSSyt-dlpffmpegOpenAI-compatible API

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Python 3.9+, ffmpeg, and yt-dlp installed separately. Clone repo, install dependencies, then one command launches the app at localhost:8000. Bring your own OpenAI-compatible API key.

No license information was mentioned in the explanation.

In plain English

QuizTube is a self-hosted tool that takes a video link from Bilibili, the Chinese video platform, and turns it into structured study notes and quiz questions. You paste the link, and the system fetches the subtitles or generates a transcript if subtitles are not available, then uses an AI language model to produce a Cornell-style note document and a set of review questions. Cornell notes split the page into three zones: a cues column, a main notes area, and a summary section at the bottom. QuizTube generates all three and lets you edit the result in a rich text editor in the browser. The quiz portion creates multiple-choice or short-answer questions from the video content, tracks which questions you got wrong, and lets you repeat those for spaced review. For Bilibili videos that are split into multiple parts, you can select several parts and merge them into a single set of notes. A task status panel shows generation progress while the AI is processing. The tool is self-hosted and runs locally. It uses FastAPI for the backend and plain HTML with Tailwind CSS for the interface. Video and subtitle fetching relies on yt-dlp and ffmpeg, which you install separately. The AI calls go to any OpenAI-compatible API endpoint, so you can point it at different providers through a configuration page inside the app where you set the base URL, model name, and API key. You can also configure these through environment variables if you prefer. Setup requires Python 3.9 or newer, ffmpeg, and yt-dlp. After cloning the repository and installing dependencies, one command starts the server and the app is available in your browser at localhost:8000.

Copy-paste prompts

Prompt 1
I have a set of Cornell notes generated from a Bilibili video using QuizTube. Help me turn the cues column into flashcards I can use for daily review.
Prompt 2
Here are quiz questions QuizTube created from a video. I keep getting these three wrong, explain the concepts behind each correct answer in simple terms.
Prompt 3
I want to extend QuizTube to support YouTube videos in addition to Bilibili. What changes would I need to make to the yt-dlp integration and the backend routes?
Prompt 4
Help me write a prompt I can use in QuizTube's AI config to generate more beginner-friendly notes with simpler language and more examples.
Prompt 5
QuizTube uses an OpenAI-compatible endpoint. How do I point it at a local model running with Ollama, and what model works best for summarizing educational video transcripts?
Open on GitHub → Explain another repo

← threeorz1027-svg on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.