AI Engineer Europe 2026
Running a Chess YouTube Channel Entirely by AI — Stephan Steinfurt, TNG Technology Consulting
Read the talk
Teaching an AI to Explain Chess, Then Run the YouTube Channel
Stephan Steinfurt’s chess-video pipeline combines engine analysis, model-directed exploration, synthesized narration, and board annotations to explain real human games.
From a talk by Stephan Steinfurt
Before you start: Basic chess notation helps: R means rook, N knight, Q queen, x a capture, + check, and an ellipsis marks Black’s move.
Can AI explain chess like a human trainer?
Can an AI explain why a chess move works well enough to teach a human player? That is the ambition behind Stephan Steinfurt’s automated chess videos. After taking Swyx’s advice to avoid boring titles, he borrowed a more ambitious description from a German newspaper: the Holy Grail of chess programming. The newspaper attributed that phrase to Wilhelm Weber and suggested that explanations matching a human trainer could still be five years away. Steinfurt’s Munich team had already shown it entirely AI-created videos; he opens with one of those generated lessons.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
One sacrifice, two ways to lose the queen
The generated lesson begins with Black’s queen under attack from a white rook on the h-file. Black retreats with ...Qg4, apparently reaching safety. The narration calls this a crushing blunder: leaving the h-file allows Rxh5, offering the rook in a trap built around the knight’s next move.
First, the video explores the pawn capture. After ...gxh5, White plays Nf6+. The knight on f6 attacks both the king on g8 and the queen on g4. In the demonstrated continuation, Black’s king moves to f8 and White takes the queen with Nxg4. The video then rewinds to consider ...Qxh5: capturing with the queen draws it onto another square attacked by the same knight jump.
Black’s capture after Rxh5 | White’s reply | Demonstrated continuation |
|---|---|---|
...gxh5 | Nf6+, attacking king and queen | ...Kf8 Nxg4 |
...Qxh5 | Nf6+, attacking king and queen | ...Kf8 Nxh5 |
The shared mechanism is a fork with check: f6 attacks g8, g4, and h5. The check makes the king the immediate problem while the queen remains attacked. The second branch adds attraction—the sacrificed rook draws the queen onto h5. This is the explanatory work the video must do beyond announcing that Rxh5 is strong.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
From nightly games to a finished lesson
This particular video was an overnight result. Steinfurt had prepared a different example, but his morning check for embarrassing output turned up a lesson he liked better. The system was already creating videos and uploading them to YouTube automatically each night.
The production sequence has four stages:
- Download human games from Lichess each night.
- Analyze them in the background, then let an agent investigate more deeply.
- Convert the analysis into a special intermediate format for video creation.
- Produce a video that explains variations and identifies brilliant moves and blunders.
The intermediate format separates the analysis from the final audiovisual presentation. The agent’s investigation must yield enough structure to show a variation while explaining why its moves matter.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Give the language model a board it can investigate
The underlying mismatch is straightforward: chess engines have played extremely well for decades, but do not explain their conclusions well. Language models can produce explanations, but cannot reliably play chess. The agent joins verbal reasoning to tools that supply chess facts.
At the time of the talk, Steinfurt considers Gemini 3.1 Pro the best model he has used for chess. He sees stronger chess understanding in its reasoning traces than in earlier models. His suggestion that this reflects chess-specific post-training is speculation, rather than a disclosed training detail.
The tools provide several distinct capabilities:
- Legal moves: Constrain exploration to moves allowed in the current position.
- Board state: Play a move, take it back, and investigate another variation.
- Engine evaluation: Ask a chess engine to analyze the position reached during exploration.
- Checks, captures, and threats: Expose tactical candidates the model might otherwise overlook.
- Historical context: Use web search for videos where the background of a game helps the explanation.
The board is therefore a working environment, not merely a position pasted into a prompt. The model can test an idea, inspect its consequences, and return to an earlier branch. The accompanying architecture slide places this model–tools loop alongside LangGraph / Deepagents.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Explain the moves a person might consider
The checks, captures, and threats tool turns a familiar beginner’s scanning method into information the agent can request. In the complicated position shown on the slide, the model receives more than the engine’s best move: it can inspect forcing candidates and explore why they succeed or fail. Among the checks, Steinfurt points to the queen taking a bishop on a4 as an obviously bad choice. Other queen checks are more reasonable.
The best move, he explains, is instead a rook sacrifice on e3. In another position, captures might be the more productive candidates to investigate. Returning these different possibilities through one tool broadens the agent’s exploration. A useful lesson must sometimes explain a bad move because a human would be tempted to play it. Supplying only the strongest continuation would omit that teaching opportunity.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Move the investigation into the agent
The first implementation put most of the analytical decisions in Python scripts. Those scripts inspected positions, assembled checks and engine evaluations, and passed the collected information to a language model for description. Reasoning models changed where that work could happen: the agent could decide which positions to investigate and which tools to call.
In the preceding autumn, Grok 4 had been the team’s strongest model for this task. Steinfurt also found enough baseline chess knowledge in OpenAI models to support useful tool selection and synthesis. That knowledge matters because the agent must recognize when it needs another fact, not simply turn a fixed bundle of facts into fluent prose.
| Analysis source | What it contributes |
|---|---|
| Engine analysis | Strong moves and their evaluations |
| Human-move tools | Plausible alternatives worth explaining |
| Historical material | Moves actually played and existing commentary |
These sources need not point toward the same move. Steinfurt finds that conflicting information helpful: it balances the best continuation against the moves a person might consider. Historical commentary can also supply a claim or variation for the agent to investigate.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Turn the analysis into narration and board instructions
After analysis, the system converts its findings into the intermediate video format and uses ElevenLabs v3 for text-to-speech. Audio tags can steer delivery—for example, making a passage sound excited. The agent also chooses which squares to highlight, which arrows to draw, and whether a move merits a brilliant-move label.
A small Python representation illustrates how narration and annotations can stay together for the opening lesson’s Nf6+ moment:
python
from dataclasses import dataclass
@dataclass(frozen=True)
class VideoBeat:
move: str
narration: str
highlights: tuple[str, ...]
arrows: tuple[tuple[str, str], ...]
beat = VideoBeat(
move="Nf6+",
narration=(
"[excited] The knight checks the king on g8 "
"and attacks the queen on g4."
),
highlights=("f6", "g8", "g4"),
arrows=(("f6", "g8"), ("f6", "g4")),
)
This illustrative record expresses the separation of concerns: the analysis selects the move and its explanation; the presentation instructions identify what to emphasize while that explanation is spoken. It is not the project’s undisclosed format.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Scale commentary without losing the chess
Once production is automated, publishing volume becomes a choice. Steinfurt rejects the characterization of the output as slop, but acknowledges that the team could generate far more videos than it should necessarily upload. The input is human games, which opens a more personal use: a player could receive a narrated video of their own game and share it with friends or family.
The team prioritizes chess quality over effects such as exploding kings at checkmate. GothamChess supplies the useful comparison: a popular human creator can explain games brilliantly, but is unlikely to cover any particular ordinary player’s game. Automation could make that kind of commentary available beyond elite players.
At the time of the talk, Steinfurt reports approximately 500,000 channel views and more than 4,000 subscribers, with most subscribers joining within the preceding month.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Revenue, errors, and the cost of extra investigation
The audience questions expose the operating conditions behind the automated channel. It has not yet reached YouTube’s monetization stage, so it earns no revenue and remains net negative. Whether that changes is still an open question.
Automation had been enabled only a couple of weeks before the talk. Steinfurt initially still wanted to watch videos before letting them publish. He informally estimates that roughly every twentieth video has a very strange description, such as missing a checkmate. That estimate has no stated sample size or formal evaluation procedure.
An error can reveal a missing step in the investigation: perhaps the agent failed to make a final tool call that would have exposed the checkmate. Such failures become debugging evidence. Steinfurt describes becoming more willing to let the system publish automatically and potentially remove a bad video afterward, rather than reviewing every result first.
Steinfurt estimates generation costs at roughly 20–30 cents per video, with much longer videos sometimes costing euros. He does not specify the currency of the cent estimate, a duration baseline, or a cost breakdown. The team is not yet optimizing costs aggressively because it prefers to spend more on a good explanation. Obvious opportunities remain: redundant tool calls, or an agent walking through the same game twice, add work without necessarily improving the lesson.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Which human is the explanation for?
A human-like candidate move could mean a grandmaster’s choice or a beginner’s mistake. Asked which kind the system considers, Steinfurt answers broadly: moves across skill levels. He points to Maia, associated with the University of Toronto, as a way to obtain plausible human moves for a player rating. The deployed version is unspecified; original Maia uses separate rating-band models, while Maia-2 accepts rating inputs. These predict behavior associated with ratings rather than guarantee a corresponding playing strength.
Exact imitation is not necessary for this application. A predicted move can be useful simply because it deserves an explanation. The goal is to enrich the candidate set with alternatives a learner might consider, not to prove that a particular player would choose them. The questioner connects this to teaching learners and people returning to chess.
Rating-aware information could also help target the videos themselves. A mate-in-one lesson may look pointless to a strong player, yet a beginner may need to see exactly why the king has no escape. The team has not settled which of these videos to publish or how to balance audiences. The remaining editorial problem is therefore concrete: deciding whose missing knowledge a lesson should address.
The final question asks whether the approach has been tried on other games. It has not. Steinfurt considers extension possible, but the demonstrated system remains a chess project.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Human-move prediction models trained for different rating bands, with weights and instructions for running them.
Google's documentation of the model's capabilities, limitations, and evaluation context.
How bracketed cues direct emotion, delivery, and vocal reactions in Eleven v3 narration.
Further reading
A unified chess model that conditions human-move predictions on player ratings, with inference examples.
The research paper accompanying Maia-2's approach to modeling human chess play across skill levels.
- Lichess open databaseDataset
Public chess data for building game-analysis and training workflows.
Updates since the talk
- TNG's chess-video projectArticle
TNG's July 2026 account of its chess channel, narrated puzzle videos, and use of real games.
Read the complete timestamped transcript
- 0:00
[upbeat music] Hello, everyone.
- 0:16
Um, yeah, Swyx wrote a blog post and said, "Okay, don't write boring titles," so I changed my title again actually and said, "Okay, we are wor-- working on the Holy Grail of chess programming."
- 0:26
And if you knew me, I mean, I'm usually not the kind of guy who oversells stuff, so it's actually a quote from someone else, uh, about this. Because, like, roughly a week ago, there was an article on, on one of the biggest newspapers in Germany, which was, um, um, discussed a couple of approaches to, um, yeah, new
- 0:44
approaches to doing, um, yeah, combining AI with chess. And yeah, they had said, um, "It could easily take another five years until AI explains chess as well as a human trainer.
- 0:56
Wilhelm Weber calls it the Holy Grail of chess program, and work is already underway in Munich." And that's basically where we are from, right? And we showed them a couple of videos, um, that, that my boss has mentioned and myself.
- 1:09
And yeah, they were completely created by our AI engine, and I wanna quickly tell you a little bit how that's, uh, working. So maybe, um, don't wanna only show it to the newspaper, but also show it to you.
- 1:21
There's a two-minute video of what the outcome is. So I'm gonna start it now.
- 1:29
In this position, Black's queen is currently under fire from the white rook on the H file. Trying to find safety, Black slides the queen over to G4. This is a crushing blunder.
- 1:43
It looks like a completely safe square, but moving off the H file allows White to unleash a spectacular mind-bending sacrifice. White plays rook takes H5.
- 1:57
White is offering up a full exchange, but this is a masterful trap built on incredible knight geometry. Let's look at what happens if Black takes the bait. First, if Black simply recaptures with the G pawn taking on H5, White springs the trap.
- 2:16
The knight jumps into the action with knight to F6 with check.
- 2:21
Look at this beautiful octopus knight on F6. It hits the king on G8 while simultaneously skewering that newly placed queen on G4. A lethal fork. The king is forced to step aside to F8, and the knight simply scoops up the queen on G4.
- 2:40
But wait, let's back up. What if Black tries to be clever and avoids the pawn capture? Black could capture the rook with the queen, playing queen takes H5. But it is the exact same trap.
- 2:55
The queen is attracted right into the danger zone. By pulling the queen to H5, White set up the exact same trick and plays knight to F6 check anyway. Once again, the king is attacked, and the knight reaches across the board to attack the queen on H5.
- 3:14
No matter how Black captures the sacrificed rook, the queen gets forked because this knight magically controls both G4 and H5. The king must step aside to F8, and the knight captures the queen on H5.
- 3:30
This is a gorgeous double duty fork demonstrating the terrifying hidden power of the knight. Always watch out for these tricky jumping pieces when your king is exposed.
- 3:42
So actually, when I prepared the talk yesterday, I, um, I wanted to show a different vi- video, but, um, yeah, we are, um, automatically creating these videos every, every night and, and uploading them to YouTube.
- 3:53
And when I this morning had a quick look if there's anything embarrassing there which I could, should hide, hide from all of you, I thought, "Okay, actually, there's this video, and it's actually even better than the other one, so might go for that one."
- 4:06
And, uh, yeah, as I said, it's automatically created. Um, we, um, basically download, um, yeah, chess games from Lichess every, every night and analyze them in the background and then let our agent run and analyze it in more depth.
- 4:20
From that analysis, we then create some special format with, from which we can later on then create a video. And yeah, the video in the end shows variations being explained.
- 4:31
It shows brilliant moves, uh, blunders, and yeah, and it's all, uh, automated.
- 4:37
And, um, yeah, so how does it work? So maybe backing up a little bit, what's the general problem? The problem is we've had really good chess engines for multiple, yeah, decades actually, and but they can't really explain chess well.
- 4:52
On the other hand, we have now LLMs. They can, well, say, um, have words and, uh, describe things, but they can't play chess well. So we have to somehow combine them.
- 5:03
That's the main challenge. And yeah, we have n- now have built an agent which, um, has a lot of tools, which is basically the, um, main, uh, yeah, important ingredient here.
- 5:14
But, um, what is also important is the LLM which we're using under the hood. So Gemini 3.1 Pro, which recently came out, is actually, like, the best model I've seen so far on, on chess.
- 5:26
I'm pretty sure they've did, did some, done some, yeah, yeah, uh, in-depth post-training on the model, and you can really see in the reasoning traces that it really understands chess a lot better than the previous models.
- 5:38
Um, but what we have now put on top of that particular model is a list of tools. So what have you got? Um, we have got a tool for legal moves, um, yeah, to just prevent it from ever, like, thinking about something completely illegal, right, on a chess board, which might un- otherwise happen.
- 5:55
Then we basically give the agent a complete chess board and let it play moves and take them back and, uh, go to various, um, variations itself. It can then always run a chess engine and, um, yeah, also have, get some other kind of chess data, for example, looking at Checks, captures, and threats.
- 6:13
And yeah, for some kind of videos, we also include web search because then might be interesting to also describe the historic context of a game or something like that.
- 6:22
So looking at one particular tool in, in detail, there's the checks, captures, and threats tool. Um, that's actually quite well-known in chess as a like a, like a beginner's explanation, um, of what you should be focusing on if you've got a, um, position.
- 6:37
So this is a relatively complicated position in which, um, I'm guessing not that many people in the audience would immediately know which one is the best move. I mean, does, does anyone wanna have a guess at it?
- 6:48
No, I mean, it's, it's pretty complicated, to be honest. It's a tile game. Um, but what we are giving the, the LLM now in this situation is not only the best move, but we are giving it also access to checks, captures, and threats because it otherwise might, might miss that.
- 7:03
And you can see that there are a couple of check moves, um, yeah, on the left board, um, some of which are obviously wrong. So like for example, with a, a queen taking the bishop on, on A4 is obviously a bad move.
- 7:17
Um, some other queen moves to give a check, they are quite reasonable. But actually, the best move in this whole situation is to sacrifice the rook on E3, which is not completely obvious here, but that's actually the best move.
- 7:30
In other situations, it might be, however, much better to look at the check, uh, of the, at the capture moves. And, um, by providing all this via one tool, we give quite some diversity to the agent to, um, then maybe, maybe later on explore other kinds of, um, variations.
- 7:48
So maybe it wants to check all of these moves and, and, uh, yeah, describe which ones are actually bad because a human might think about them, and it's-- so it's not always about the very, very best move which we have to describe.
- 8:03
Um, in general, the big question is who should do the thinking? So when we started this whole project, we initially had a like, uh, some Python scripts which would analyze a chess position and would then assemble information from various, um, positions and would say, "Okay, here there are the check moves, and that's the engine evaluation."
- 8:22
And then we would then pass it on to the, um, language model to then have a whole description. But what, um, ha- changed last year when reasoning models came out was actually that the, the agents could, um, yeah, rather think themselves about the, the positions, and they were already pretty good.
- 8:42
So, um, the best model which we've been using like in, in autumn last year was Grok 4. Surprisingly, that was sort of the best one. But, um, yeah, also the other models, like from OpenAI and so on, they also, um, have quite some decent, uh, base chess knowledge to be able to then call the tools at the
- 9:01
right position and then, like, assemble all the knowledge. And yeah, as I already mentioned, this kind of conflicting information which we provide via the tools is actually very beneficial.
- 9:11
So, um, we also have, um, other kind of tools which more, more geared towards, um, yeah, having-- getting out the more human moves and positions and, yeah, that also helps to balance the, um, the description of not being too much focused on the best moves, but also like on the most human moves.
- 9:30
Also, in the historical context, there might be, uh, like some valuable information, um, which moves have actually been played, or someone might have described something in, in detail which we might wanna analyze.
- 9:41
So all these kind of things, um, get into the mix in the context.
- 9:46
Yeah, after we did the whole analysis, we would then create it into a special format which we could then easily transfer into a, um, yeah, into a video. Um, we then use ElevenLabs v3 for text-to-speech.
- 10:01
Yeah, it's actually quit- pretty nice that there are now also these audio texts like, uh, you can put this "excited" in there, and it would then sound excited. And yeah, and also the agent also decides by itself which squares it wants to highlight, which arrows want, it wants to draw, and if something should be considered a brilliant
- 10:20
move or not. Yeah, and now maybe also some other questions. So is that all slop which we are, which we are creating? I think not, obviously. Um, but yeah, I mean, we are able to create many, many, many such videos, so we have to really balance of how much do we wanna put out there on YouTube.
- 10:40
So, um, what is the input? I mean, the input is actually human games. So in a, in a sense, um, what we are now positioned at is we could be creating videos of your games, and you could send the videos then to your friends and family.
- 10:54
And, um, we are not trying to, um, I don't know, put in these artificial things like exploding position, uh, like, uh, exploding kings or something like that on check, checkmate which might, might be beneficial for the view count and so on.
- 11:09
But we are really trying to, uh, yeah, get the most out of the chess quality. Uh, in general, why are we doing this? I mean, there are a lot of interesting and great streamers.
- 11:18
So for example, [REDACTED:username] is one, one maybe the, the, uh, yeah, most well-known streamer. But they-- he would probably not, um, describe one of your games or my games, uh, in his videos.
- 11:31
But we now have a, a way to also scale for other people who are not like the best players in the world and who might, which, um, yeah, might also like to have a video.
- 11:41
And yeah, we've got a, a YouTube channel and, um, yeah, currently it's like something like 500k views and, yeah, more than 4,000 subscribers. Most of them actually were, um, yeah, subscribed within the last month, so it's actually going up quite a bit there.
- 11:57
Yeah, and that's it. If you've got any more questions, I mean, ask them or send me a message via these platforms here, whatever. And yeah, that's it. [audience clapping]
- 12:09
Yeah. Uh, how, how... What does, what does it cost? Are you monetizing YouTube? Is it like covering the LLM inference cost yet? Well, currently, we don't make any money yet because we are not-- haven't reached the monetization stage yet, and so it's net minus at the moment.
- 12:25
But okay, it might change. We'll see.
- 12:32
Videos you're generating and how many like the, the quality benefit has there been?
- 12:37
Yeah, I mean, so, um, this whole, uh, automation we only like enabled like a couple of weeks ago, and so currently I'm still like a little bit skeptic. Should I really like just leave it, uh, upload videos?
- 12:50
And yeah, I'm mostly still leaning on, okay, I still wanna watch them first ones. But, um, yeah, the error rate is actually pretty low. So I would say every 20th, um, video maybe has a, a very weird description in which there's, I don't know, a checkmate, uh, and, uh, that's missed or something like that.
- 13:09
But I mean, that's usually also then of, uh, valuable information, right? Because maybe some like one tool call was not done at the very end and okay, we can learn something from that.
- 13:19
But I've actually much more now switched to, okay, I don't care anymore, and even if there's a bad video, then I'll take it down afterwards maybe. Yeah.
- 13:31
Anything else? Yeah.
- 13:33
What is the, what does it cost for the video?
- 13:36
Um, it's, um, something on the order of, yeah, 20, 30 cents, something like that. So I mean, we also have created a couple of other videos which are like, uh, much, much longer, and there it can also get to euros and something like that.
- 13:51
Um, currently we are not trying to optimize the costs too much because, um, uh, we rather want to err, err on having a too good description sort of. And but there are also a couple of optimization possibilities in there, I don't know, redundant tool calls.
- 14:07
Sometimes the agent goes through a game like twice or something like that, and yeah, that's obviously stupid in a sense.
- 14:16
Yeah.
- 14:16
You were talking about, um, human move. Is it like grandmaster human move or like the, you know, uh, human move that you might put in the mix?
- 14:26
Yeah, basically all. I mean, so there's this, this, um, uh, Maia engine, which was also mentioned, uh, uh, yesterday in the talk, so, um, by the University of Toronto, which, um, yeah, they trained a model w- in which you can basically, uh, put a, yeah, rating of, uh, of a player, and then it would roughly, um, give
- 14:47
you, uh, a move which that player might wanna play. But it's not like it... I mean, it's not like perfect in that sense, right? But it still might be valuable information that maybe some move like this, uh, deserves a description.
- 15:01
So we don't necessarily need to have what really a human would be playing of that strength, but rather like a mix of different things to consider.
- 15:10
To explain like someone learning-
- 15:13
Yes, exactly
- 15:13
... 160 ELO or, you know, something, someone that doesn't play for a while, yes.
- 15:19
Yeah.
- 15:19
You want to explain to-
- 15:21
Yes. I mean, these, these things could also be used then for targeting a little bit more like for the audience, rather have like videos for better players or videos for worse players.
- 15:32
And, um, currently, uh, we are also not really sure exactly how, which videos we should be putting up there or not. I mean, sometimes we also have videos with a checkmate in one, which for like good players is sort of ridiculous.
- 15:45
I mean, you see it, uh, immediately. But on the other hand, there are, there are real beginners who really don't see that and need also an explanation, uh, why that's a checkmate and so on.
- 15:55
So yeah, it's, it's all a bit of a balancing question, which we are not really sure yet. Yeah.
- 16:00
Have you tried other games?
- 16:02
No, not yet. But yeah, I mean, it's sort of, uh, possible to extend in then. Yeah.
- 16:11
Okay. Yeah. Then that's it. Thanks. [clapping] [outro jingle]