On-screen questions
Point MiPrep at a coding-exercise window and it reads the problem itself.
Some questions are never spoken. A coding exercise appears in a browser tab or a platform's editor, and the interviewer says nothing more than "take a look".
MiPrep can watch one window and answer what is written in it.
Pick a window

Choose the window holding the exercise. MiPrep watches only that window — not your desktop, not your other tabs.
Once picked, it checks that window every five seconds and answers when the content actually changes. A new question gets a new answer; a blinking cursor or a ticking timer does not.
How it decides the screen changed
This is worth understanding, because it is the difference between an answer arriving and nothing happening at all.
Every five seconds MiPrep takes a frame and reduces it to a 64-bit perceptual hash — a fingerprint of the layout and tone of the image rather than its pixels. That fingerprint is compared against the last frame it actually sent, not the last one it looked at.
| Difference from the last sent frame | What happens |
|---|---|
| 0 bits — genuinely identical | Never sent. A static screen is never re-read. |
| Under 10 bits — small change | Skipped… but see the twenty-second rule below. |
| 10 bits or more — real change | Sent, and answered. |
The twenty-second rule, and why it exists
A perceptual hash is dominated by layout, and coding platforms deliberately keep one layout for every problem — same chrome, same two-pane split, same editor box. Only the prose swaps.
So moving from question 1 to question 2 can move fewer than ten bits, and early on that meant the first question of a set was answered and every one after it was silently dropped as "unchanged". That is precisely the situation the feature exists for.
Lowering the threshold does not fix it: low enough to catch a paragraph swap is low enough that a blinking cursor triggers a resend. So the threshold stayed and a staleness floor was added underneath it — a frame whose difference is non-zero but below the threshold is sent anyway once twenty seconds have passed since the last send.
Zero-difference frames are still never sent. A screen you are not touching costs nothing.
Capture now
Press ⌘⇧V/Ctrl+Shift+V to read the window immediately instead of waiting for the next check. It skips the five-second timer and the change detection entirely, so it works even on a screen MiPrep has already decided is unchanged.
Use it the moment a new problem appears rather than waiting to find out whether the automatic pass will catch it.
Escalate a shallow answer
If the answer is too surface-level for the problem, press ⌘⇧E/Ctrl+Shift+E — or the ⤴ harder button on the answer card — to re-answer the same screen with a stronger model.
What it cannot see
- Exclusive-fullscreen games and some DirectX applications come back blank.
- DRM-protected video comes back blank.
Neither matters for an interview, but if a window renders black in the picker, that is why.