Skip to content

See.Think.Act.

I'm Paul. I build machines that see and agents that act. This notebook takes models apart in writing — every article ships with instruments you can operate right in the browser, all written from scratch in TypeScript.

live · mnist-cnn
A ~9,000-parameter CNN running in your browser. No server, no libraries. How does it work?

0017 minInteractive

A CNN from scratch: watching a convolutional network see, in your browser

A handwritten-digit classifier written in plain TypeScript with no machine-learning library, then opened up so you can look at the output of every layer.

Notebook index

Newest first.

View all posts
  1. 006

    A robot dog in the browser: its walking policy is four matrix multiplications

    MuJoCo compiled to WebAssembly plus the walking policy Deep Robotics published make a Lite3 walk in your browser. Then you try to knock it over: blindfold its senses, shove it, detune its motors.

    Interactive#ai-agent#robotics#reinforcement-learning

    9 min
  2. 005

    One body, two heads: training a HydraNet that draws boxes and masks, in the browser

    Emoji fruit as training data, and a small network with one shared trunk and two output heads, trained from scratch in your browser. It finds the fruit within ten seconds. Then we measure honestly what multi-task learning bought us and what it cost.

    Interactive#computer-vision#multi-task#from-scratch

    10 min
  3. 004

    Training a Transformer from scratch in the browser: watching attention grow

    No PyTorch and no libraries. A tiny autodiff engine and a Transformer of about fourteen thousand parameters, written in TypeScript. Press a button and it learns to reverse a string of digits within seconds.

    Interactive#llm#transformer#from-scratch

    8 min
  4. 003

    Building a neuroevolution trading squad: AI strategies that adapt to the market

    Let a crowd of random trading bots compete, breed and mutate on Apple's 2024 share price. Train one yourself, then look closely at what it learned and what it didn't.

    Interactive#ai-agent#neuroevolution#trading

    6 min
  5. 002

    The fantastic journey of neural network evolution: 50 birds teach themselves Flappy Bird

    Nobody shows these birds how to fly. Give each one a brain of six weights, add survival of the fittest, and a few dozen generations later they glide through every pipe.

    Interactive#ai-agent#neuroevolution#from-scratch

    5 min
  6. 001

    A CNN from scratch: watching a convolutional network see, in your browser

    A handwritten-digit classifier written in plain TypeScript with no machine-learning library, then opened up so you can look at the output of every layer.

    Interactive#computer-vision#cnn#from-scratch

    7 min

Who writes this

I'm Paul. I like to own the whole path: the perception model on the edge device, the tracks and events it produces, and the agents that decide what to do with them.

GitHub

Computer vision
Multi-task perception networks, teacher / student distillation, ONNX / TensorRT on Jetson.
Multi-agent systems
Orchestrator / worker designs, MCP tool contracts, the edge-and-cloud split.
LLM
Multimodal document understanding, structured output, VLMs on trigger rather than on every frame.
Edge
RTSP, GStreamer, WebRTC; Rust and Kotlin Multiplatform where Python is too slow.