Notebooks

Reactive Python notebooks powered by marimo — edit code and see results update live in the browser, no install required.

Gradient Descent

Implement gradient descent variants for linear regression — full batch, stochastic, momentum, and Adagrad.

Simple Neural Network

Build a two-layer fully connected neural network from scratch using NumPy only.

Backpropagation & MLP

Build a scalar autograd engine from scratch, then implement backpropagation through cross-entropy, batch normalization, and a multi-layer perceptron — all using pure Python and NumPy.

Transformers

Build a transformer from scratch using NumPy: tokenize text, implement scaled dot-product attention, multi-head attention, and a full transformer block with residual connections and layer normalization.

ML Interview Tasks

Classic array and image manipulation problems commonly asked in ML engineering interviews — implement from scratch using NumPy.