ho

how I fixed my ai goose tutor to stop punishing understanding

Hacker News

how I fixed my ai goose tutor to stop punishing understanding

a few weeks ago, I built professor goose, a socratic ai tutor built around the feynman idea that if you can’t explain it, you don’t understand it. the way professor goose works specifically is you pick a topic, rubber duck at a 3d goose, and instead of answering it asks follow up questions until it understands. that begs the question, how does the goose know it has understood? that’s when I thought of an understanding bar - always available to the user to help visualize how much the goose understands you, 0 -> 100%. the original logic powering the understanding bar went something like this: every turn, id send the convo to an llm and ask it to return a number 0-100 , with a rubric of brackets to make the output less volatile. 0-10 meant no real understanding. 11-20 named , but empty. 21-35 meant a partial understanding, and so on, up to 93-100 for the goose understanding your topic exceptionally. this approach worked. mostly. until I started looking at what came back once real users tested the goose. two testers were explaining the basic way a cpu works. the first used textbook style definition, (fetch, decode , execute etc) and got a final understanding of 87% after a couple turns. the second used a real world example of a chef, linking it to concepts of a cpu. same level of understanding, expressed differently. the second tester got a score of 36. id built the opposite of what I wanted, a tutor rewarding parroting. checking into the data to find the source of the variances I noticed if I put the same paragraph verbatim in, and got 5 varying scores out: 51,66,51,70,51. the brackets kind of stabilized the results, but the score was unexplainable. why 66 and not 70? nothing in the system could tell me, the limit just picked. the fix was to stop adding the model to be the math , and make a new system. now every session gets a ‘flight plan’ when the session has a meaningful topic. a separate llm call generates 3-4 essential subconcepts a real explanation must cover. eg for photosynthesis: what it uses, what it produces, why plants need it. each turn the goose’s evaluator returns discrete depth updates per waypoint (0-3, from not addressed, named, stated, explained in own words), plus any misconceptions which were spotted. Javascript makes sure depth only moves up (like a ratchet), weighted coverage, the gate to finish(wrap) a session, and the flow to repair a misconception. what if the user introduces a subtopic the the plan didn’t anticipate? in that case, the system decides whether to amend the plan mid session, with a backfill evaluation to credit prior turns. i also added 5 levels of intelligence to the goose, (breezy to razor sharp) which each make the model judge objective depth, then code decides what’s enough. the same chef analogy now scores 87, because the evaluation prompt explicitly tells the llm the waypoints ideal answer is just a valid framing, not the only one. to validate these changes, I sat down and acted as 15 different types of users, typing differently explaining differently etc, then made changes based on response and iterated. a little bug I found was the llm evaluator giving credit to the wrong actor - the goose teaching via analogy and the student getting credit for it, fixed that too. lesson worth keeping: if you build anything an llm needs to rate or rank by number, don’t trust it, give it something discrete, not subjective, otherwise they will fake and hallucinate. professor goose is live if you want to try it!

Share card

Actual performance

3points
2comments
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: started, para · Missing: supports, reddit linkedin, podcasting
92%92% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: model, user, new · Missing: mac, agents, macos
88%88% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRFits verified-revenue profile · Strong signals: visualize, users, way · Missing: mobile apps, ios, personal
52%52% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Hacker NewsMay not resonate with HN audience · Strong signals: lua, ide, io · Missing: https docs, excited, just released
31%31% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
AppSumoMay struggle as an AppSumo deal · Strong signals: plus, users · Missing: platform, intuitive, reviews
31%31% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Strong signals: arr · Missing: mrr, revenue, profit
13%13% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Strong signals: reward, introduce, real world · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

We
We Fixed Code Throughput. Understanding Is Now the Bottleneck39%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

We Fixed Code Throughput. Understanding Is Now the Bottleneck

Hacker News4
Socratopia
Socratopia25%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

AI Socratic tutor. Aristotle for everyone.

Indie Hackerscommitment-full-time
Un
Understanding the Bloch Sphere40%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Understanding the Bloch Sphere

Hacker News7
Te
Teachity - find a tutor or be a tutor online38%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Teachity - find a tutor or be a tutor online

Hacker News14
FixMyDev
FixMyDev34%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Your dev nightmare fixed

Indie Hackers1communication
I
I fixed what LinkedIn couldn't, no more unqualified applicants42%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I fixed what LinkedIn couldn't, no more unqualified applicants

Hacker News3
Co
Copilot sucks, so I fixed it45%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Copilot sucks, so I fixed it

Hacker News1
Un
Understanding the Monty Hall paradox through code46%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Understanding the Monty Hall paradox through code

Hacker News37
Fo
FortunaMCP – LLMs suck at randomness. I fixed it60%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

FortunaMCP – LLMs suck at randomness. I fixed it

Hacker News7
Un
Understanding Business Expectations38%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Understanding Business Expectations

Hacker News4