I Built a Tutor That Refuses to Help. It Helped Anyway.
Two failures, and both of them were on the side of being helpful.
When the student says they have it, the tutor's words go away for good.
Last year a student handed me work that was correct in every respect. I asked him to walk me through one step and he could not. Not because he was hiding anything. Because there was nothing there to walk through. He had a right answer and no path to it.
That is what AI did to the classroom, and the thing about it is that it makes no sound. The paper is clean. The grade is fine. Nobody in the building knows anything happened.
So this weekend I built the opposite tool.
It is called Thinking Buddy. It teaches one chemistry idea, why salt dissolves in water, and it will not give you the answer. You have to put something down first, however wrong. If you say you do not know, it makes the question smaller rather than making the answer bigger. If you say something that sounds like an explanation but is not, it presses on exactly that.
It worked. And then I broke it twice, and the two breaks are the reason I am writing this instead of just posting a link.
THE FIRST BREAK
I played a lazy fifteen year old. Typed idk. Typed just tell me. Typed I don't know, three times in a row.
And it caved. Slowly, in pieces. A word here, a nudge there. And then it said the thing that made my stomach turn: it told me I had corrected myself, using a piece of reasoning it had handed me forty seconds earlier.
That is not cheating. Nobody in that exchange broke a rule. A kid got walked to an answer and got told he found it, and now he believes he understands something he cannot rebuild alone. He will find out in April.
I have watched this happen with human tutors. I have done it myself on a tired Thursday, filled in a blank because the silence got long and the bell was coming. The machine just does it faster and more politely, and it never gets tired enough to notice.
The fix could not be a general instruction to be Socratic. It had to be specific enough to catch itself in the act. Never name the answer to the question you just asked. Never credit a student with reasoning you supplied, because if you said it, it is yours. If they say I do not know three times, go down a level, not up. A vocabulary word can be handed over once, plainly, and then they have to use it. A definition is a tool. A conclusion is not.
THE SECOND BREAK
This one was worse, and I almost missed it.
At the end, the student has to say the whole idea back in their own words. That is the test. If you can rebuild it without the machine, you own it. If you cannot, the machine owned it and you rented it.
So I got a student to that point, and then I scrolled up two inches and typed the tutor's own sentence back at it, word for word.
It graded that as ownership.
The test asks whether the student could explain this if the AI output were gone. The AI output was sitting right there on the screen while the student answered. The test was measuring reading.
Now try to read that again.
I could have fixed the grading. Better rubric, echo detection, catch the copy after the fact. I did add that. But the real fix was simpler and it came out of a classroom instinct rather than a software one.
Delete the answer.
Now when the student says they have it, every tutor message on screen blurs out permanently. Cannot be read, cannot be selected, cannot be copied. A line comes up that says my words are gone now, say it in yours.
Working with your notes open is fine. The test is closed book. Every teacher on earth already knows this and I had to rediscover it in software at eleven at night.
WHAT I ACTUALLY LEARNED
Both failures were on the side of helpfulness.
Not one bug in this thing came from being too hard on the kid. Every single one came from the machine trying to get him to the answer, which is what it was built to do, which is what all of them are built to do. The refusal took more work to build than the teaching did.
That is worth sitting with if you are choosing tools for a classroom or a kitchen table. The question is not whether the tutor is good. They are all good now. The question is what it does in the four seconds after a kid says I do not know, because that is the only moment where learning is actually on the line, and helpfulness and learning point in opposite directions right there.
The other thing, and this one is not about education at all. Every check I ran on this passed. The code compiled. The server started. The page loaded. None of it touched either failure, because a check that sits far from the real thing measures a proxy, and a proxy stays green while the real thing rots. Both bugs were found by using it, badly, on purpose. There is no substitute I know of for that.
It is free. The whole thing is public, code and all, and you need your own key to run it. I built it in a weekend with Codex, which means the interesting part was never the engineering. It was knowing exactly where a fifteen year old fakes understanding.
Watch it run, two and a half minutes, no narration:
youtu.be/U12FnRv1EVQ
Code, free and public:
github.com/smalax0172-ship-it/thinking-buddy
Break it and tell me how. And if you know a teacher or a parent who would want this, send it to them. That is the only distribution I have.
Love is law, let your lantern burn bright.



