Sketches
Experiments I have attempted over the years and how they work. Mostly front-end little sketches with React.js and Three.js.
Prior meets the data
A skeptical prior belief centered on "no effect" meets the likelihood carried by your data, and the posterior lands somewhere in between — a precision-weighted compromise. Play the three dials and watch which side wins: pile up the sample size or widen the prior and the data takes over; shrink the data or tighten the prior and the belief snaps back toward zero. Built in p5.js.
p5.jsinteractivemachine-learningbayesianstatisticsTurning up the temperature
At any given step a language model has one fixed set of raw scores (logits) over its vocabulary — temperature is the dial that reshapes them, deciding whether it commits to the top token or spreads its bets. Drag it from cold to hot and watch the distribution melt from a spike to a flat field, while the samples raining below follow along. Built in p5.js.
p5.jsinteractivemachine-learningllmsamplingThe Holes That Learning Fills
A cool visualization showing how a raw, unsmoothed n-gram only knows the word-sequences it has counted, leaving holes everywhere else; a neural model learns a smooth pattern that fills them in. Slide from memorize to learn, and drop the coverage to watch counting fall apart where learning degrades gracefully. Built in p5.js.
p5.jsinteractivemachine-learningneural-networkseducationalWebGL Raymarcher
A scene built from signed distance fields(SDF). Move the cursor to relight; drag the slider to morph between two compositions.
webglglslraymarchingsdfsigned distance fieldshadersinteractivepocPerlin Noise Vector Field
A 2D Perlin-noise flow field rendered in p5.js. Particles drift along the field; a slider tunes how many of each particle’s recent positions you see.
p5.jsgenerativeflow-fieldnoiseinteractivepocp5 probe (color)
Same as the other p5 probe, but with color.
p5.jsutilitycolorpocp5 probe
A circle, a frame counter, and the page theme — the smallest possible p5.js sketch on the site. A sanity check for the canvas + theme + resize plumbing every other p5 sketch depends on. If this stops drawing, every other p5 sketch on the site is also broken.
p5.jsutilitypocLLM Judge Bias Map
A faceted view of where a stock LLM-as-judge agrees and disagrees with human labels on forty customer-support responses. The standard 2×2 confusion matrix says the judge is fine. The faceted version says something more specific: the disagreements cluster on the response types where the bot sounded helpful — workarounds, escalations, redirects — and the judge bought every one. The bias is not noise. It has shape.
data-vizd3evaluationmachine-learninginteractivepocReact Business Card
An interactive 3D business card made with React. Tilt with your mouse, or on mobile, with your device.
react.jscss3dinteractiveIcosahedron Rotation
A faceted icosahedron rotating in 3D space.
three.jsrotation3Dpoc