July 1, 2026
How we find videos you can almost understand
Nobody tags a YouTube clip "good for a high-A2 learner of Portuguese." So we built a pipeline that goes looking, in every language, and grades each video by ear before it ever reaches you. Here's roughly how it works.
How we find videos you can almost understand
The best video for learning a language is one you can almost follow. Not the textbook dialogue read at half speed, and not the rapid-fire podcast that loses you in the first sentence. The one just past where you are now, where you catch most of it and stretch for the rest. Find enough of those and you learn by watching. That's the whole game.
The catch is that those videos are scattered across YouTube, in every language, with nothing labelling them. Nobody tags a clip "good for a high-A2 learner of Portuguese." So we built a pipeline that goes looking. We do use AI for this, but only for the boring parts: finding the videos, listening for how hard they are, and sorting them by level. The speech itself stays human.
This is roughly how it works, minus the parts we'd rather keep to ourselves.
Two jobs, kept apart
The pipeline is really two loops that don't talk to each other directly. One goes hunting: it searches, screens, and keeps a backlog of promising candidates topped up. The other drains that backlog at a steady pace and does the heavy work of turning a raw clip into a lesson.
We split them on purpose. Hunting is cheap and bursty. Turning a video into a lesson is slow and expensive. Keeping the two apart lets each run at its own speed, so a quiet patch in one never stalls the other.
Casting a wide net
A handful of sources feed the top of the funnel:
- Searches written in the target language. We don't search "beginner French videos" in English. We search the way a French speaker would, in French, for the kind of clip that tends to work.
- What's trending in each country.
- Creators we already trust, checked for anything new they've posted.
- The back catalog of a creator who has already proven they make usable clips.
- YouTube's own "related videos" rail, seeded from clips our reviewers rated highly.
Between them, these keep a steady stream of raw candidates coming in, far more than we'll ever use. The whole point of everything downstream is to be ruthless about which ones survive.
Cheap to expensive, in that order
Every candidate runs a gauntlet that gets more costly at each step, so we only spend real effort on videos that have already earned it.
First, a glance at the surface: title, channel, length, description, thumbnail. Is this even the right kind of thing, or is it a music video, a slideshow, a gameplay stream with nobody talking? That check is almost free, and it clears out most of the noise.
Next we read the captions, not the video. YouTube already auto-transcribes most clips, and pulling that text costs us nothing to download and nothing to process. It tells us whether there's real speech, in the right language, and roughly how hard that speech is.
Only the survivors get the full treatment: downloaded, transcribed properly, cut into sentences, and scored. By the time we spend serious compute on a video, we're already fairly sure it's worth it.
Measuring difficulty by ear
People assume judging a video's level is mostly about vocabulary. It mostly isn't. Two clips can use the same words and feel a world apart, because difficulty in listening lives in the delivery. So before we weigh the words, we measure the sound.
We listen for three things:
- Speed. How fast the words actually arrive. A relaxed explainer can run at half the pace of two friends talking over each other.
- Chunking. How much gets said between pauses. A speaker who breaks into short phrases is far easier to follow than one who unspools a long clause without coming up for air.
- Connected speech. How much the words blur together. The faster and more casual the talk, the more sounds get swallowed, dropped, and run into the next one. That blurring is exactly what makes street speech hard and textbook audio easy.
Then we add the vocabulary and grammar on top: the CEFR level you'd recognize, A1 through C2. The blend of the two, how a clip sounds and what's actually being said, is what lets us place it on a scale and match it to a learner, instead of trusting a title.
Chasing the holes, not the volume
More videos isn't the goal. The right videos in the empty spots is. English and Spanish already have thousands of clips at every level, so another good English video barely moves anything. A first decent video for a language that has almost none moves a lot.
So the system keeps a kind of map of what's missing. Not just which languages are thin, but which exact corners are empty: fast speech for upper-intermediate learners here, gentle beginner speech there. A candidate that fills an empty corner jumps the queue. A candidate piling onto a full one waits, or gets skipped.
A nice thing falls out of this on its own. As a language fills up, the system loses interest in it and drifts toward the next thin one, with nobody steering. And the languages people are actively waiting for get a deliberate thumb on the scale.
A language is not one target
Mexican Spanish and Argentine Spanish are not the same study material. Standard German and Swiss German even less so. So once a language has enough depth to bother, we start tracking its dialects separately and steering searches toward the regions where each is actually spoken.
There's a subtlety here that took us a while to respect: the transcription tools quietly tidy regional speech into the standard written form. Spoken Swiss German comes back looking like ordinary German on the page. So we never trust the transcript alone to tell us the dialect. The channel, the broadcaster, and what a creator usually posts all get a vote. A clip from a Swiss public-broadcaster comedy show is almost certainly Swiss German, whatever the neatened-up transcript says.
When we run low on fresh things to search for in a given language, we write more, in that language, by showing the model the clips that already worked and the exact searches that surfaced them. It also sees the searches that have come back empty before, which stops it inventing oddly specific scenes that simply aren't on YouTube.
Keeping it fresh, literally
One more screen is worth a mention: shelf life. A vlog, a recipe, a bit of stand-up is just as good to learn from next month. Yesterday's weather report or match recap is not. We keep a video in rotation for weeks, so we filter out anything that goes stale in days, even when it's otherwise perfect. A clip can pass every other test and still get held back for being tied too tightly to the day it went up.
Letting one creator carry a thin language
A small thing we're fond of. Normally we cap how many videos we'll take from a single creator at once, so the catalog doesn't quietly become one person's channel. But for a language with barely anything in it, that rule backfires. If a single science-explainer channel is making the best beginner clips in a language almost nobody covers, we want them, all of them, for now.
So the cap stretches when a language is thin and tightens as it fills. Let one good creator carry the early days, then make room for the crowd once there's a crowd to make room for.
The through-line
None of this touches the speech. We don't slow it down, dub it, or script it. The whole machine lives in the finding and the sorting: reading captions, listening for pace, keeping a map of what's missing, knowing Swiss German when it hears it.
The payoff is mundane, and it's the entire point. You open Reelang, and the next video is one you can almost understand. That's the whole game.