Turn Zoom Transcripts into Study Materials with Claude Code and NotebookLM
This is a "how-to." It shows how legal educators and students can create great study materials by combining features of Zoom, Claude Code, and NotebookLM. It shows you how to replicate my workflow. But before I show you the journey, let's look at the end product to see if it's worth investing the effort.
The end result of this work is a NotebookLM notebook containing numerous artifacts: slide decks, videos, an audio debate, flashcards, a quiz, and more. The particular notebook encompasses materials from the first two weeks of my 1L Constitutional Law class. But there's no reason other than convenience for my confining it this way. You can cover more material or less. Here's a kind of gallery of what we created. Although the materials do contain some amusing errors (check out AI's understanding of northeastern geography), most of it is, immodestly, very good. I can't imagine students who would not benefit from engaging with these materials – and then producing their own.
One of 66 flashcards requiring students to identify cases based on theme, facts, statutes, language

An 18-minute debate on whether Gonzalez v. Raich was rightly decided.
A six-minute video on the constitutionality of provisions of The Judiciary Act of 1789: Marbury v. Madison and Martin v. Hunter's Lessee.
A sample slide from a presentation it generated on the commerce clause.

An infographic tracing the history of commerce clause decisions covered in class. (This one is cute but does have errors of duplication).

If this sounds promising, it should. NotebookLM has become remarkably capable at producing teaching materials, and depending on your pedagogical approach, your own class transcripts may be all the grounding the LLM needs. The results would likely improve further by adding PowerPoints, edited case excerpts, and other materials students encounter—but even transcripts alone can yield surprisingly polished outputs.
So now let's discuss how it was produced. Step one was to record every class on Zoom. I do this (1) for the convenience of my students who may miss class or want to review the pearls of wisdom emerging from the discussions; (2) for students with disabilities for whom a Zoom recording is a form of accommodation; and (3) for myself both for self-protection during these fraught times and so I can assess my own work. Unfortunately, the acoustics in my current classroom are such that Zoom tends not to pick up student comments, but at least it captures what I have to say. By default, Zoom produces a transcript of the class session. But it does so in a peculiar format called a VTT file. Here's what a conversation about Martin v. Hunter's Lessee (one of my favorite cases) looks like as raw text.

You will notice that the transcript contains sequence numbers and time markings that are not likely to be useful for review. While perhaps we could just upload the raw transcript to NotebookLM and hope for the best, it is probably better to cleanse the transcript.
Enter Claude Code, an agentic programming framework that has deservedly taken the AI world by storm. I gave it the following simple prompt:
Write a command line program to take a vtt transcript file or files or directory of files and return it as a json object with time stamp, speaker and verbatim content. when multiple files or a directory is submitted the user should have the option to have it return one file per input file or an aggregate file in which each json entry also has an input file identifier. Here is a sample file: [cut and paste of sample transcript inserted here]
And within moments, Claude had developed a todo list, written a transcript parser, and, at my direction, tested the parser on the six raw VTT files from each of my six classes to produce a file called Module1.json. I examined Claude's output and found that it had worked decently. There was an annoyance, however. Claude had retained text that had been spoken in class but related purely to organizational matters or other material that had limited educational value. I thus asked Claude:
Now read through Module1.json and edit out extraneous remarks that have nothing to do with constitutional law but preserve the remainder as an organized transcript. The idea should be extract the "wisdom" contained in the class.
I then told Claude Code to take all the transcripts from the course thus far, and
extract the content in a reasonable markdown format. Put section breaks when the source file changes.
After one correction from me, Claude did exactly what was told. I then simply uploaded the resulting markdown file to NotebookLM. From there, it was – for now – just a matter of using the particular notebook just like any other. I could ask it to produce the artifacts I displayed earlier in this post. With the raw materials now available in a clean format, users who have access to the notebook can copy that notebook and produce their own artifacts. They can, for example, ask for flashcards that focus on a particular case or a report that generates hypotheticals to challenge their understanding.
What's that I hear? You're not so good at using Claude Code, or maybe you don't even have access? Not to worry. Here are the files you need. They include the Python code needed to go from VTT files to a format NotebookLM can more easily absorb. And there's an accompanying README_WORKFLOW file that goes with it to provide documentation.
Still too hard? Here are three other options:
(1) Use the Claude skill I built to emulate the functionality of the Python code. The vtt-to-markdown file contains the skill itself and the SKILL_USAGE file contains a clear explanation of how to use it.
(2) Just upload the raw VTT transcripts to NotebookLM. It might not be quite as clean as what I have shown here, but NotebookLM is pretty smart and might be able to disregard the clutter.With this option, all you need is a transcript, whether generated by Zoom or some other transcribing software.
(3) Use an online service here to perform the conversion one file at a time; you do lose privacy and I can't vouch for the quality, but it did seem to work when I tested it out.
The Bigger Picture
Like many AI applications in education, the process I've described—from class transcripts to multimedia teaching materials—may have a short lifespan. First, free transcription software such as WhisperX is now ubiquitous, so you don't need Zoom for transcription; I use it simply because I'm already recording there. Second, I'm currently feeding sources into NotebookLM and producing artifacts manually, one notebook at a time. But new software—which I'm actively testing—works programmatically with NotebookLM. Agentic coding tools will soon be able to populate NotebookLM with materials, prompt it to generate artifacts (videos, presentations, debates, quizzes), and then download, remix, and redistribute those outputs as the user wishes. It would be even better if Google itself permitted direct programmatic access to NotebookLM.
Consider what this programmatic access to NotebookLM would enable. A professor teaching constitutional law could feed in a semester's worth of case readings, class transcripts, and supplementary materials, then instruct an agent to generate a complete multimedia study package: audio overviews for each unit, practice quizzes keyed to specific learning objectives, debate simulations presenting opposing interpretive frameworks, and slide decks summarizing doctrinal development. An ambitious student could do the same with their own notes and assigned readings, producing personalized review materials tailored to their weak points. What now takes hours of manual effort would require only the initial curation of sources. NotebookLM is impressive, but it offers limited flexibility—artifacts remain siloed within its interface, formatted according to its templates. Once those artifacts can be extracted programmatically, the possibilities expand dramatically. An agentic system could pull audio files, quizzes, and summaries from NotebookLM, then build a comprehensive course website organizing everything by topic, difficulty, or doctrine. A single professor could produce what would previously have required an instructional design team: an entire searchable, navigable learning platform generated from raw course materials. Scale becomes trivial when the constraint is no longer human labor.
NotebookLM may not even remain the tool of choice. It's outstanding and it has gazillion-dollar Google behind it. But alternatives are emerging: Claude's computer use capabilities can already generate documents, presentations, and code; other platforms are developing similar artifact-production features with different strengths in voice quality, formatting, citation handling, or output quality. Claude Cowork makes many of those capabilities available to non-coders in a pleasant interface.
The specific platform available today probably matters less than the overall trajectory. Teaching will increasingly consist of providing crude inputs—raw transcripts, reading lists, learning objectives—that result in AI generating polished outputs, with AI itself doing the work of orchestrating other AIs to complete the task. The professor's role shifts from production to curation and judgment: selecting source materials, evaluating outputs, and deciding what serves students best. The law school hires AI application experts to help in this process. What I've shown you today, which I do think is pretty cool, is likely to be as passe as "prompt engineering" a year from now.