
02 — Work
Handwritten Digit Recognition with MLOps
Project Overview
Production-grade machine learning system that can accurately recognize handwritten digits in real-world conditions with 98.63% accuracy. Built using 21,000+ European handwritten digit images.
Project Details
- Timeline
- Sep 2025 — Oct 2025
- Role
- Solo Developer - Full Stack ML Engineer
- Team
- Solo
Challenge
The challenge wasn't just building a model that could hit 90% accuracy. It was engineering a robust preprocessing pipeline to turn those 21,000+ images into an MNIST-lookalike dataset, then deploying it properly with FastAPI, Docker, and a clean web interface.
Approach
Data Engineering: Designed a 5-step preprocessing pipeline (grayscale → LANCZOS resize to 28x28 → color inversion → normalization) that transforms raw images into MNIST format.
Model Architecture: Built a 3-layer CNN with batch normalization, dropout regularization, and strategic callbacks (EarlyStopping, ReduceLROnPlateau, ModelCheckpoint).
Backend Development: Implemented FastAPI with dependency injection for model loading, Pydantic for request/response validation, environment-based configuration (dev/prod/test modes), and structured error handling.
Key Results
- —98.63% test accuracy
- —<100ms inference
- —Zero train-test mismatch
Technologies Used
- Python
- TensorFlow/Keras
- FastAPI
- Docker
- JavaScript
View & Demo
Key Features
3-layer CNN with batch normalization and dropout
FastAPI REST API with dependency injection
Docker containerized deployment
Interactive web interface for digit drawing
Pydantic validation for robust input handling
Gallery
Image

Image

Image

Image

Image
