AI / OCR / Streamlit

OCR Handwritten Characters

An AI course project exploring handwritten character recognition through custom NumPy neural networks, manually implemented convolution layers, and an interactive Streamlit dashboard.

Streamlit handwritten digit recognition dashboard

Overview

This project was built to understand OCR and neural networks below the framework level. Instead of relying only on TensorFlow, the project includes custom NumPy implementations for forward propagation, backpropagation, activation functions, convolution, pooling, feature extraction, and model serialization, with TensorFlow used as a comparison baseline.

Key Features

Evidence

The project compares low-level model behavior against a TensorFlow CNN baseline, making accuracy gaps, feature engineering limitations, and convolutional architecture advantages easier to explain.

What I Learned

Building the model components manually made the tradeoffs behind CNNs more concrete: handcrafted edge features are fragile, activation functions can saturate or destabilize training, and learned convolutional filters solve image-recognition problems that shallow feature pipelines struggle with.