After finishing last week’s post on leveraging ChatGPT Voice for enhanced speaking practice, I started thinking about how I could use vibecoding to turn the activities I introduced—and others—into an interactive resource for language teachers and independent learners.
I’ve been reading about Claude Code for a while, and creating a multi-page interactive world-languages resource seemed like a prime experiment. I wanted to get a sense of how challenging it might be for a "low-code educator" like me to create an extended interactive curriculum system for students.
At the same time, I’ve also been experimenting with AI-Generated Podcasts and NotebookLM Audio Overview.
I’ll use this post to tell you what I’ve found.
Claude Code: Planning, Planning
If you’re unfamiliar, vibecoding is essentially coding by describing the 'vibe' and logic rather than syntax. Claude Code is an engine that makes this possible. You don’t need to know Python or Javascript, but you do need to be a high-level 'Logic Architect.' If your intentions are fuzzy, your output will be too.
As I explained to Claude, my goal was to create a prompt-driven, extended interactive resource to be embedded in a Squarespace website. The tool would provide structured speaking routines designed for use with any AI voice tool (ChatGPT Voice, Gemini, Claude, etc.). Each activity would target a specific speaking skill, from retrieval speed to listening comprehension to grammatical flexibility, using deliberate practice.
I needed three key interactive features. So, I asked Claude to generate three drop-down menus where users would select, in order:
Language (French, Spanish, Italian, English (ELL))
CEFR level (A2, B1, B2)
Activity type with speaking goal
Other key features would be an activity explanation and a core prompt to copy.
In short, users would be instructed to:
Select your language, CEFR level, and activity type from the dropdowns below.
Read the activity explanation to understand the routine.
Copy the Core Prompt into any AI voice tool (ChatGPT, Gemini, Claude, or similar).
Start the activity and speak out loud. Follow the routine as described.
In last week’s post, I introduced four activities, but I had nine at the ready. (I omitted some in order to keep the post to a manageable length.) I also wanted to include B2-level Italian activities. Since that’s beyond my own proficiency, I relied on Claude for more than just code—it became my content co-designer.
Before beginning, I watched a video on Claude Code for non-coders that stressed the importance of planning before actual coding, and I took the message to heart. I spent hours chatting with ChatGPT/Claude about how to create a detailed project file for Claude Code that would be clear, thorough, and actionable — and bereft of (glaring) assumptions.
There were two principal reasons for this. First and foremost, mediocre input leads to mediocre output (“garbage in, garbage out”), which can force you to revise your coding numerous times.
Second, mediocre output not only wastes time but can also be costly. Claude has a (archaic) token system that essentially charges you for usage. The longer and more demanding the tasks you ask Claude to perform, the more expensive a project becomes.
Before I typed a single line of code, though, I had to choose my entry point. Claude Code is not exactly "free" and offers two main ways to pay for its usage:
Subscription / API account
I went with the $100/mo Max plan because I wanted predictability. A sloppy project file via the API can "eat" your credits in a single afternoon because of how coding tools manage context. With the Max plan, I knew exactly what my "worst-case scenario" spending was. And I know I can cancel it anytime.
Fortunately, Claude Code includes a handy “AskUserQuestionTool” that asks you about various parameters that guide your project’s execution. In the end, though, it only asked a few questions beyond basic procedural ones. (That extra planning helped!) There are related tools that are handy or required, such as Node.js and VS Code, but they are free and easy to install.
I ran into problems immediately when trying to install Claude Code on my Mac, and also encountered procedural issues when coding. So, I had ongoing conversations with ChatGPT to guide me. (I tried to ask as few questions as possible inside Claude Code, to avoid eating up credits)
Overall, I was pleasantly surprised with how seamless the operation was. I am not sure how many hours I spent working with Claude Code, but much of the time was spent waiting for Claude to generate the 64 activities (one-by-one) and then create an embed code for my website. I spent more time preparing to use Claude Code than I did actively using the system. If I had to guess, I’d say the whole process took less than a day. (And I expect it to go quicker the next time.)
There are a few things I need to tweak, but you can view my creation here (for now)
I don’t know how many low-code teachers would go to the lengths I did to use Claude Code and execute a multi-page project with dozens of activity objects. But if they succeeded on the first try, I’m convinced they would try it again.
Why? There are so many possibilities. Me, I might use Claude Code to create interactive teacher-facing prompt generators where educators select a topic and skill focus and instantly receive a polished student-facing activity plus a copy-paste AI prompt. I could build history/social studies tools that generate inquiry questions, DBQ-style primary source analysis routines, Socratic seminar debate formats, and structured argument-writing scaffolds aligned to classroom standards. In world languages—my current sweet spot—it can scale my voice-based fluency drills into a full library of role-play scenarios, listening challenges, pronunciation tasks, and retrieval-speed speaking exercises that automatically adjust by CEFR level.
In other words, I’m just getting started.
Building a custom sandbox with Claude Code is an innovation for deliberate speaking practice, but language acquisition is clearly a two-way street. You can’t just output; you need high-quality input. While I was 'vibecoding' my interactive routines, I was also thinking about the other side of the coin: listening. An explosion of AI-generated audio is currently flooding the language-learning ecosystem. If I’m building tools to help people talk to AI, I need to see if the AI is actually worth listening to.
AI-created language learning podcasts
As you might imagine, there’s now a flood of AI-generated podcasts in the language-learning sphere. When I say “AI-created” podcasts, I’m referring to audio lessons where AI is used to generate the script, the voice(s), or both. Found on YouTube and other platforms, these podcasts often feature a consistent structure: short-to-medium segments, controlled vocabulary, predictable pacing, clear pronunciation, and built-in repetition. For example, LanguaTalk Slow Spanish News (not to be confused with “News in Slow Spanish”) offers world news stories in eight-minute segments, spoken at a slower pace to improve listening comprehension without overwhelming learners.
While I do listen to “slow news” podcasts at times, I’m more interested in lessons presented in an extended conversation on a common topic at a natural pace, so I can build well-rounded vocabulary and listening skills. For example, I often listen to ItalianPod while I’m making and eating breakfast. The topics are just right for A2 (or low B1) learners, the conversations are lively, pronunciation is excellent, the rhythm is consistent, and the language stays within a “learnable” range. (ItalianPod does not explicitly state that its podcasts are created with AI, but its product is unmistakably AI-sterile.) I also like how they provide a steady stream of manageable 20-30 minute podcasts—94 videos in seven months!
(For an enjoyable and productive non-AI conversational listening environment, I strongly recommend the Coffee Break Spanish and Coffee Break Italian podcasts. And, though Duolingo has ceased its production, the Duolingo Spanish Podcast and Duolingo French Podcast contain fascinating stories.)
NotebookLM Audio: Priming, Questioning, and Dual Coding
About a year ago, I created a NotebookLM notebook full of Spanish B1 and B2 resources. But it lay mostly stagnant until recently, when Google released “Customized” Audio Overview. Since then, I’ve focused more intently on NotebookLM because it lets me choose specific material, control the difficulty, and generate listenable, variable audio from my own sources.
Here are some strategies:
1) Priming: the “spoiler” to make Spanish easier
It feels counterintuitive, but spoilers can help learning. Before I read a lengthy and challenging Spanish article or lesson, I often first create a brief Audio Overview of it. My goal is to prime my brain to uncover structure first, so that when I read/listen to the whole, I’m focused on details rather than constructing meaning from scratch. This can help reduce my frustration level early in a complex article when I often feel overwhelmed.
I usually pick one source (say a long lesson) and generate a short audio overview in Spanish. I typically choose the “Brief” format and either the “Short” or “Default” length setting. I select “español (Latinoamérica)” as the target language. My prompt is sometimes in English, sometimes in Spanish.
Here’s an example:
NotebookLM builds a short segment. I listen once, without pausing, just to build a mental model for the full lesson.
Here is the Audio Overview generated from the prompt above:
Crisp, clear, and moving at a brisk pace. I like it.
2) Deep Dive Audio + Question mode
Next month, I’m scheduled to give a talk on “Making Student Thinking Visible with AI” — but in Spanish. So, the actual title is “Haciendo Visible el Pensamiento del Estudiante con IA”.
To prepare, I am creating a Notebook full of Spanish-language resources on making students' thinking visible with AI tools — like Snorkl, Khanmigo, and SchoolAI. I am also including Spanish-language articles and videos that present varied viewpoints on related topics, including feasibility and strategies.
So, once I’ve added my resources, I’ll generate a deep dive audio overview and start asking questions!
The setup is simple. For this activity, I select ‘Debate.’ I choose the ‘Default’ length again; nothing ' Short’.
My prompt above, translated into English, is: Discuss the benefits of making student thinking visible with AI. Introduce AI tools that can be leveraged to do so. Discuss the best ways to use them and the issues to consider. Discuss hurdles, limitations, or drawbacks to making student thinking visible with AI.
It’ll be great to listen to the discussion and pick up phrases and ideas expressed in Spanish. But here’s how I think it will be especially useful. While listening, I’ll pause occasionally and ask NotebookLM questions like:
“¿Qué significa exactamente…?” (“What does that mean exactly…?”)
“¿Cuál es un ejemplo real?” (“What is a real-world example?”)
“¿Cómo manejar eso como maestro?” (“How should a teacher handle that?”)
Asking questions like these help deepen my understanding of the topic and familiarize me with ways to express ideas in Spanish. After I’ve asked it questions, I’ll ask Audio Overview to ask me 10 questions about the content.
I’m eager to see how well and how quickly I can answer the questions, since answering impromptu questions at the end of my talk will be much harder than my delivering my planned, rehearsed presentation.
3) “Dual coding” (visual + verbal) & ChatGPT Voice
I dislike making slides. I find making them time-consuming and often superfluous, but I understand that visual guides can be useful and that attendees often want them. But before making a full-scale slideshow, I want to quickly create a high-level visual outline with key ideas and terms embedded in my live take. And then I want to practice delivering these ideas verbally.
To do this, I open the beta “Customize Slide Deck” option and select ‘Presenter Slides’. I stick with the default length and select my target language.
I’ve told it to: Create a high-level visual slideshow of the topic -- Haciendo Visible el Pensamiento del Estudiante con IA -- in Latin American Spanish, with the following sections: 1. Introduction, 2. AI Tools, 3. AI Strategies, 4. Issues to Consider, 5. Recommendations Going Forward
When the slideshow is complete, I’ll open up ChatGPT Voice and practice delivering a high-level version of the presentation in Spanish. I’ll ask it to ask me questions, critique my ideas, and improve my Spanish.
In all, NotebookLM’s Audio Overview can take on varied forms and serve multiple uses. It can turn audio from a passive consumption activity into a highly malleable, active study tool. It might not be "real" conversation, but for targeted, deliberate practice, it’s often better.
Conclusion
Looking back at my recent experiments, a common thread is agency. Whether it’s using Claude Code to build a practice tool or leveraging NotebookLM to ‘prime’ my brain for a difficult Spanish article, I am trying to move away from being a passive consumer of language apps and more of an architect of my own learning environments.
I’m still a ‘non-techie’ in many ways, but with these tools the distance between ‘I wish I had a tool for this’ and ‘I just built a tool for this’ has shrunk significantly.
Have you tried ‘vibecoding’ yet, or are you finding your footing with AI-generated audio? Let me know in the comments.
Find AI-in-education tools, news, how-tos and more at tomdaccord.com






