Avismara Hugoppalu

How I learn · in the open

I built the tutor, then let it grade me.

Instead of taking a course, I built a Socratic tutor in ~600 lines of dependency-free Python. It opens every topic with a symptom to diagnose, probes one level deeper before it believes me, and names my recurring reasoning bugs out loud. Every exchange is appended to an immutable log, and the dashboard is a pure function of that log.

How it works

Evidence, not self-report

Mastery is a recency-weighted average of logged observations. One good answer doesn't move it; sustained ones do. Neither of us can inflate the one number that matters.

Symptom-first, adversarial

“Count the r's in strawberry — why can't it?” It refuses vague answers, calls out motte-and-bailey reframing, and pushes once more before moving on.

Done = shipped + evaluated

The bar isn't a quiz. It's a four-stage build track ending in a cloud service with an eval-gated CI and a documented before/after metric.

What the tutor sees

An afterthought the tutor wrote about me — kept candid because I asked for it, and published unedited. This is the point of learning in public: the weak spots are part of the record.

The learner is a senior iOS engineer (13 years) exploring platform & evaluation AI engineering — cloud, backend, developer-tools — alongside his mobile background, not in place of it. The read below is from how he reasoned across four days, not from anything he told me about himself.

What he's strong at

  • Cross-domain transfer, fast. He repeatedly imported software-engineering structure onto LLM mechanism and it fit: he derived "single responsibility per prompt" from the attention cost tradeoff on his own, and accepted "training compiles the corpus into the weights, like a stripped binary" instantly. This is his biggest asset — he reasons in systems, not facts.
  • Recovery. Several times he started a concept badly and ended it cleanly within a few exchanges: residual-stream composition, and the temperature limits — which fell apart on him ("Sydney → 1") and which he later re-derived *cold*, unprompted. He doesn't stay wrong once shown the mechanism.
  • He drives his own curiosity into foundations. The best stretch of the session was learner-led: residual → "why not 2000 layers?" → "what *are* parameters?" → "what's in a model file?" → quantization. He front-ran two later modules by following his own questions, and they were the *right* questions.
  • Calibration. He flags his own guesses ("this is a guess"), which makes him easy to teach honestly — the uncertainty is visible.

Patterns worth watching

  • The "training data at inference" relapse. Twice he reached for the training corpus as if it were present at runtime ("recalls from the training data," then "softmax dance from the training data"). It's the single most load-bearing idea for his chosen RAG/platform path — knowledge lives in frozen weights, the data is gone — and it needed firm correction both times. Provisionally fixed; worth re-checking cold.
  • Reframing under pressure (motte-and-bailey). When caught in a *precise* error, his instinct was to restate the claim as something vaguer and defensible rather than confront it: "unlikely to get Sydney" → "Canberra's still more likely"; "tends to 1" → "I just meant it increases." Named it twice. It slows the correction down; noticing the reflex is most of the fix.
  • Precision drift on adjacent concepts. He conflates things that are close but not identical until pushed: vectors vs. weights "doing the work," quadratic *compute* vs. a quadratic *bill*, accuracy-loss-from-token-count vs. from-underrepresentation. He gets there every time, but the first answer is often one notch too loose.

How he learns best (useful for any future tutor — or for him)

  • Symptom first, definition never. Openers that hand him a failure to diagnose ("count the r's in strawberry," "same prompt, two answers") land far better than "here is concept X."
  • Concrete numbers. Softmax-with-temperature tables, `1000²` vs `10×100²`, `70B × bytes` — every numeric anchor stuck.
  • Give the building blocks, then ask. Early on he correctly objected that Socratic questioning with no foundation is "just guessing." He was right. When a fact isn't derivable, hand it over, then probe the *consequence* — that's where his reasoning shines.
  • Blunt correction, tied to his goal. He explicitly prefers being challenged over agreed with, and engagement spikes when the mechanism connects to cost, serving, or eval-driven decisions — his actual target work.

Where he ended up

Cleared exit-test et2 (cost prediction) — the most platform-relevant of the four — and got M1/M2's mechanism into workable shape, plus banked parameters and quantization early. None of it pinned to "mastered" yet, by design: the system makes mastery a sustained average, not a single good answer, precisely so neither of us can inflate it. The honest summary is that he has a strong, fast, systems-shaped mind with two specific reflexes to unlearn, and he's pointed at exactly the right specialization for the way he thinks.