Projects

Two interactive demos. No backend. No ML framework. Just JavaScript, math, and your browser.


Handwriting Recognition in the Browser

Handwriting recognition demo A feedforward neural network that classifies handwritten characters in real time. Built with Angular and TypeScript, with the neural network implemented from scratch — no TensorFlow, no ONNX, no ML library of any kind. The network takes a 12×12 binary grid derived from your pen strokes as input (144 numbers), passes it through a hidden layer with the same width, and outputs a probability distribution over characters. Training runs in the browser using backpropagation with periodic `setTimeout` yields to keep the UI responsive.
---

Knowledge Extraction from a Neural Network

Neural network knowledge visualization An educational project that asks: what has a network trained on MNIST actually learned? Two approaches are implemented, both in pure JavaScript:

1. Causal Index — compute the influence of each input pixel on each output by summing weighted paths through the network, then render as a heat map per digit.

2. Iterative Input Adaptation — start from random noise, apply stochastic hill climbing until the network confidently classifies the input as a target digit. A technique similar to DeepDream.

No compilation, no build step — open the HTML file and it runs.