NovaMind
- 1 Devlogs
- 10 Total hours
A neural network built from raw NumPy (zero frameworks) that trains on MNIST to recognize handwritten digits, with a live canvas demo where you draw a digit and it predicts in real time.
A neural network built from raw NumPy (zero frameworks) that trains on MNIST to recognize handwritten digits, with a live canvas demo where you draw a digit and it predicts in real time.
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