How I built this

I taught myself complex analysis the summer before starting college, using Claude as a tutor. This doesn't just mean asking for practice questions or explanations of topics, but rather a tutor running on a written system that gets refined as I go. It plans each lesson in advance, teaches by asking questions, and stores everything in markdown files with folder structure as the architecture. This page is a showcase of the actual workflow.

The notebook

Every lesson was worked out by hand before any of it was written up. This is the notebook.

The rule every lesson follows

Most topics started with something concrete and verifiable: a computation done by hand. That usually led to a visualization of the idea. Only then came the rigorous version: definitions, theorems, proof. This kept me from getting lost in ε-δ. I understood what a concept meant before I ever saw its formal statement.

Sessions, not lectures

Lessons were delivered live in chat, with the tutor under strict instructions to never lecture and then quiz me. The loop: state a definition, I immediately try to predict or compute something with it, get confirmed or corrected, then move forward. For proofs, the instruction is to set up the argument, reach the key inferential step, and stop. I supply that step, and if I'm wrong, I get steered toward the right answer instead of just being handed it.

Every session also opens with two warm-up questions. The first is a bridge question from the previous lesson that directly relates to the current one, and the second is a spaced-review question from an older lesson. A retention tracker logs when each lesson was last reviewed. The second question tends to review actual mechanics, like how $M/R$ works in Cauchy's estimates.

A file on how I get things wrong

The system keeps a teaching profile, a running list of patterns in how I actually learn. Some real entries, logged after sessions:

This tutoring model is refined specifically for me, and it compounds. Every lesson gets planned against the current profile.

Commissioning the visualizations

Visualizations on this site started as a written prompt, each one drafted right after finishing the lesson it belongs to. The format was always the same: I state exactly what I just learned, then specify what I want to see and why. From my actual roots-of-unity prompt:

Include a button/control that animates each root point moving (e.g. spiraling or rotating) to converge at $z=1$, illustrating $z^n=1$ for each root. While it animates, display each point's current angle $\theta$ and the value $n\theta$ updating in real time, so I can watch $n\theta$ approach a multiple of $2\pi$ as the point reaches $z=1$, this ties the visual convergence directly back to the "match angles mod $2\pi$" derivation (the step I found hardest today).

Visualizations were usually commissioned around whichever part of a topic I found hardest, or around math I found fascinating enough that I wanted to watch it move.

Why it was efficient

The site itself

Eleventy static site, KaTeX for the math, dark theme matched to the visualizations' palette, deployed on GitHub Pages. The animated background on the homepage is live domain coloring.