What We Learned Building and Auditing 990 AI-Generated English Learning Scenes
We built English-learning content for Korean learners under an external contract. We can’t disclose the client, the service URL, or the internal architecture, but the lessons are worth sharing. The core finding was simple: AI can absolutely generate content at volume. But generating a lot and having something you can actually ship are two completely different things.
For this project we picked 30 base verbs and built 30 learning scenes for each one. The final tally was 990 SCENEs, 427 intents, 81 situations, and 3,134 expressions. This is a record of what genuinely worked, where things went wrong, and how we designed the quality audit.
990
Learning Scenes Shipped
30
Base Verb Series
3,134
Core Expressions
0 / 0
Audit errors / warnings
The Brief Was Simple — Content Density Was Not
On paper the job was to fill an English-learning service with content, fast. Once we got into it, though, this was clearly not a sentence-generation problem. With English-learning material, sheer volume can actively hurt. Repeat the same expression too often and learners get bored. Slip in expressions that are too advanced and beginners drop out. And if the Korean gloss reads unnaturally, learners will memorize the English without ever knowing when to use it.
So we changed direction. Instead of “generate lots of sentences,” the goal became “make a single expression stick by putting it in a learner’s mouth several times inside a real situation.” For example, rather than reducing getto the single Korean gloss “받다” (to receive), we split it into scenes covering the chunks Korean learners most often miss: get dressed, get there, get better, get it, get it fixed, get to travel.
In this project AI was less a “final author” and more a “first-draft production engine.” The good results came from content structure, review criteria, and repeated inspection, not from clever prompting.
What We Actually Produced
The output is organized around base verbs. Verbs like have, get, make, and take look easy but are in fact the hardest, because none of them maps to a single Korean word — they keep splintering into phrasal verbs and idiomatic expressions.
| Item | Result | What It Means |
|---|---|---|
| Base verbs | 30 | Designed for 30 scenes per verb |
| SCENE | 990 | The smallest unit a learner reads and listens to as a real situation |
| Intents | 427 | Speech functions like asking, requesting, confirming, declining |
| Situations | 81 | Usage contexts: school, home, cafés, giving directions, friendships |
| Expressions | 3,134 | The core conversational chunks that land in the study sheet |
A single scene generally consists of 5–6 spoken lines, a four-choice guessing question, a twist step where the learner varies the expression, a minestep where they write their own, and 3–4 core expressions. The reason we locked this format down is simple: if you let AI write freely, the output doesn’t get richer — it scatters into a shape you cannot review.
The Tech Stack Existed to Enforce Content Rules
The stack here wasn’t chosen to enable flashy features. It was machinery to force the content to hold a consistent shape. Structured source files, automatic imports, TTS generation, the quality audit script, and build verification all had to connect into one line.
Structured content source
Every scene keeps the same structure: slug, spoken lines, question, answer, variation examples, core expressions.
Batch TTS generation
Lines and example sentences get audio, but we tracked whether a sentence actually changed to avoid needless regeneration.
Automated quality audit
Counts, filenames, number of correct answers, number of options, duplicate expressions, and audio existence were all checked mechanically.
Build verification
As content volume grows, a type error, a broken import, or missing data becomes an outage, so the build went into the review routine.
What matters isn’t “which database we used” or “which server we deployed to.” That changes with every project. What matters more is building a structure where a machine can reject content before a human ever reads it.
What AI Was Genuinely Good At
The upsides were clear. Speed first. When you take one base verb and try to spread it across 30 situations, a human writing from scratch runs out of material fast. AI expands context quickly: cafés, school, family, giving directions, friendships, presentations, hospitals, service encounters.
1. It builds the surrounding context for an expression fast
Instead of just dropping in take a break, we could build a scene around “taking a short break from studying” and attach the sentences around it: Let’s take a break, I need to take a break, after we take a break.
2. It’s good at distributing one verb’s senses across scenes
get splits into receiving, arriving, understanding, changing state, getting an opportunity, and having something handled for you. Rather than cramming that into a single explainer page, we could plant each sense across multiple scenes.
3. It can keep re-skinning easy situations for beginners
The same grammar feels easier when you move it to school, home, friends, family, or a café. AI was strong at producing these variations quickly.
Where It Breaks If You Ship It As-Is
The problems were equally clear. AI sentences can look grammatically fine and still fall short as learning content. In particular, you get a lot of sentences that look like correct answers but do almost nothing for actual learning.
Problems we actually hit, repeatedly
- The Korean gloss for an English option barely unpacks it; it just restates the English
- Example sentences that should differ per option repeat the same Korean sentence
- Core expressions duplicated within the same scene
- Sentences read naturally, but the explanation of why you’re learning this expression is weak
- B1-and-above expressions quietly creeping into beginner scenes
The part we rewrote most was the twist — the step where learners vary an expression. If the target is ask if, the learner should be able to restructure it: “ask whether it’s possible,” “ask whether they’re ready,” “ask whether it’s open,” “ask whether it’s been canceled.” In the first drafts, though, the Korean field sometimes just echoed the English source almost verbatim. The blank was filled on the surface, but the learning value was near zero.
What the Automated Audit Caught
The automated audit never tried to judge “is this good English?” That’s too hard, and automating it is actively dangerous. Instead, the audit checked whether the format was broken.
| Check | Why |
|---|---|
| SCENE count | Confirm no verb is missing part of its 30-scene set |
| slug and filename | Prevent links, audio, and progress records from drifting out of sync |
| 4–6 spoken lines | Filter out scenes that are too short or too long |
| 4 options, 1 correct answer | Prevent the question format from breaking |
| Duplicate target expression | Stop study-sheet slots from being wasted inside a single scene |
| Audio file existence | Prevent content that has text but nothing to play |
This audit surfaced 53target expressions that repeated within the same scene. We didn’t simply delete them: we replaced them based on key expressions that actually appear in the spoken lines. That’s the only way the expression a learner saw in the scene also lands naturally in the study sheet.
First automated audit results
We audited all 990 SCENEs, and after fixing the 53 duplicate expressions the final result was 0 errors / 0 warnings. At this stage we also regenerated the map and passed the build.
What Only Manual Review Could See
Passing the automated audit does not mean the content is good. So in the next stage we read the 30-scene ask series in batches of five. The problems that showed up here were hard to catch with automation.
Lines are fine, but the teaching is weak
In ask-001–005 we kept the spoken lines and the audio. The problem was the twist section: the meaning of the English options didn’t unpack naturally into Korean, and the example sentences barely differed from option to option.
Scenes that need structural practice
For scenes like ask someone to, ask if, and ask whether, the variation examples mattered more than the dialogue. Learners needed to be able to reshape “ask someone to do something” and “ask whether…” on their own.
Idioms die without context
Expressions like Don’t ask me, if you ask me, you asked for it, and no questions asked feel awkward if you only bolt on a definition. They stick only when you also supply the situation — is this a joke, a cautious opinion, or help offered with no strings attached?
That gave us a principle for manual review: if the spoken lines and audio sound natural, keep them. Fix the Korean meanings, the variation examples, and the target expression explanations instead. Done this way, learning quality rises sharply without regenerating any TTS.
Rules We’d Set First If We Did It Again
If we ran this project again, we’d write the quality rubric before writing any prompts. AI content work that starts with “write it well” almost always fails. Nailing down the criteria below first works far better.
1. Look at expression distribution before scene count
Whether the senses of core verbs like have/get/make/take are evenly distributed matters more than hitting 990.
2. Every scene gets exactly one learning objective
Pack grammar, idioms, and cultural notes into one scene and a beginner walks away with nothing.
3. The Korean gloss must teach usage, not translation
Don't stop at rendering ask around as '주변에 묻다' (ask nearby); write it so the actual behavior is visible, like '여기저기 물어보다' (ask around all over the place).
4. Automation checks format; humans check how it feels to learn
Automate counts, answers, duplicates, and audio. Difficulty and naturalness need human eyes.
5. You need a structure that lowers audio regeneration cost
Change a line and you have to regenerate TTS. So it's better to manage line quality and explanation quality separately.
6. Always run duplicate detection on AI-generated expressions
At volume, similar expressions keep resurfacing. They're easy to miss by eye, which is exactly why you need a machine check.
Conclusion
Building English-learning content with AI is entirely viable. It helps enormously with first drafts, situational variation, and spreading expressions across scenes. But you must not drop AI output straight into a live service. Educational content has to be more than “plausible sentences” — it has to be expressions a learner can actually reach for in the next real situation.
The biggest lesson: at scale, the bottleneck is not the generation model, it’s the review system. The automated audit keeps the format honest; manual review keeps the material teachable. You need both before a number like 990 means anything.
If you’re considering an AI content project, start with a small set of 30. Then don’t scale immediately: audit duplicates, difficulty, the Korean explanations, audio, and example variations first. If you can see problems in those 30, they will blow up far worse across 990. Conversely, once you can manage 30 reliably, AI becomes a genuinely powerful production tool.
Further reading
We cover the problem of AI producing convincing falsehoods in LLM Hallucination Test, and why data and knowledge injection matter when building AI for real work in Building a Local RAG Pipeline.
Related Posts
© 2026 TreeRU. All rights reserved.
All content is copyrighted by TreeRU. Unauthorized reproduction without attribution is prohibited.