TeachBack

Explain a concept. Find the part you cannot explain yet.

TeachBack asks you to teach a topic out loud. The gaps show up the moment you try to say it in your own words. Here is the whole loop, start to finish.

This is a written example. The exchange and the feedback below were composed by us to show how the loop works. They are not a recording of a real learner, and nothing on this page is assessed by AI. There is no sign-in, no microphone and no data sent anywhere.

1. The source

In the product you bring your own material. For this example, a short explanation of HTTP caching. About a minute to read.

HTTP caching, in short When a browser asks for a file, the server can tell it to keep a copy and reuse it instead of asking again. That instruction travels in the Cache-Control response header. max-age=3600 means: this copy is fresh for one hour. During that hour the browser reuses its stored copy and makes no request at all. no-cache does not mean "do not store this". It means: you may store it, but you must check with the server before reusing it. The check is usually cheap. no-store is the one that means "do not keep a copy at all". ETag is how that check stays cheap. The server sends an ETag, a short identifier for the exact version of the file. On the next request the browser sends it back in If-None-Match. If the file has not changed, the server replies 304 Not Modified with no body, and the browser reuses what it already has. If it has changed, the server sends the new file normally. So max-age avoids the request entirely, and ETag makes the request cheap when one has to happen.

2. Explaining it back

Lumi only asks questions. She never explains the topic for you, because the point is that you produce the explanation.

Example exchange
Lumi
Okay, I'm listening. What is HTTP caching for?
Learner
It's so the browser doesn't have to download the same file over and over. The server says how long the file is good for, with max-age, and during that time the browser just uses the copy it already has.
Lumi
That part I follow. What about no-cache, what does that one do?
Learner
no-cache means don't cache it. The browser isn't allowed to keep a copy, so it downloads it fresh every time.

This is the wrong answer, and it is a common one. Notice what happens next: Lumi does not correct it.

Lumi
Hm. If the browser is not allowed to keep a copy at all, what would no-store be for?
Learner
Oh. Hang on. That would make them the same thing, and they're two different headers, so they can't mean the same... I think no-cache must mean it can keep the copy, but it has to ask first before using it. And no-store is the real don't-keep-it-at-all one.

The learner fixes it themselves. That is the whole mechanism.

Lumi
So when it asks first, what makes that cheaper than just downloading the file again?
Learner
The ETag. The server gives the file a short id, and the browser sends that id back and basically asks is this still the current one. If it is, the server answers 304 and doesn't send the file body at all, so you only pay for the round trip and not the download.
Lumi
And if it is not the current one any more?
Learner
Then it just sends the new file the normal way, with a new ETag for next time.

3. The feedback

Scores are secondary. The useful part is the observation, tied to something the learner actually said.

Example feedback
4Accuracy
3Completeness
4Clarity

What went well

  • You caught the no-cache mistake yourself, using the fact that no-store exists as the clue. Noticing that two separate headers cannot mean the same thing is exactly the right instinct.
  • Your explanation of ETag was precise about the part that matters: the saving is the file body, not the round trip.
  • You explained max-age in terms of what the browser actually does, rather than restating the header name.

Worth another pass

  • The source also mentions that the freshness window means no request is made at all. Worth being explicit that max-age and ETag solve two different costs.

Try next

  • Try explaining, in one sentence each, when you would reach for max-age and when for no-cache. The difference is about how stale you can afford to be.

Try that part again

In the product this starts a new short session on just the gap. Here it shows you the prompt the learner would get.

What this example left out

In the product you speak your explanation out loud rather than reading one, and the feedback is generated for what you actually said. Both of those need an account and a microphone, which is exactly why they are not on this page. This page is here so you can see the shape of the loop without signing up for anything.

Open the app Read the Hebrew site

The app needs an account and a microphone. This page does not, and stays readable either way. The app's interface is Hebrew. There is a language switch inside the app, but not on the sign-in screen you land on first.