Built NovaMind — a multi-layer perceptron trained on MNIST, written entirely from scratch using only NumPy. No PyTorch, no TensorFlow.
What I implemented by hand:
Forward and backward pass through every layer
ReLU and Softmax activations
Cross-entropy loss
Mini-batch SGD with L2 regularization (λ=0.0001)
Xavier weight initialization
Full MNIST data pipeline — download, parse IDX binary format, normalize, one-hot encode
Final results: 99.69% train accuracy, 97.91% test accuracy.
Also built:
Visualization suite — loss curve, confusion matrix, and a prediction grid showing wrong vs correct predictions
Live interactive demo — draw a digit on a browser canvas, the model predicts it in real time using trained weights exported as JSON and a forward pass written in JavaScript
GitHub: omsingh-19/NovaMind
Live demo: NovaMind MNIST Digit Recognizer
Comments 1
Do check out the live demo at: https://omsingh-19.github.io/NovaMind/
Sign in to join the conversation.