July 4, 2026 #design#ai

Why my portfolio fights back

Most portfolio sites tell you what someone does. I wanted mine to demonstrate it.

The duel on the home page is a real learning system, not an animation. Every strike you make feeds a context-tree predictor (the same family of ideas behind autocomplete) that blends first-, second- and third-order patterns of your play. It commits its prediction before you swing. When it parries you, that’s not scripted difficulty: you actually became predictable.

Humans are wonderful pattern generators. We think we’re being random, and we’re not. Most players get “locked on” within a dozen rounds. The end screen shows you the receipts: your own habits, extracted from your play, explained in plain language. That’s the point. Explainability is the difference between AI you can ship and AI you have to apologize for.

The whole engine is about two kilobytes of TypeScript running in your browser. No server, no model API, no data leaves the page. Production AI is mostly not about size. What matters is the loop: observe, learn, act, explain, and put guardrails around the whole thing.

If you beat it, congratulations: you out-randomed a machine. It will claim your victory as training data either way. It learned that from me.

← All writing