STAR Summary
- Situation
- My wife says my handwriting is hard to read. I wanted an objective score.
- Task
- Owned the end-to-end build, from implementation through the final deliverable.
- Action
-
- Built three digit-recognition models, moving from a simple baseline to a CNN.
- Trained on MNIST (60,000 digits) and selected the best model.
- Deployed it behind a serverless scoring API for the live demo.
- Result
-
- The best model reached ~99% test accuracy on MNIST (see notebook).
- On a small personal handwriting set, accuracy was ~75.6% (not a benchmark; see notebook).
- My wife was right.
- Stack
- Python · PyTorch · AWS · Docker · CNN
- Status
- Live interactive demo
Evaluation & tradeoffs
- Status
- Measured
- Goal
- Recognize handwritten digits and use model confidence as one input to a legibility score.
- Dataset
- MNIST plus a small personal handwriting set used only as a domain-shift check.
- Split
- Standard MNIST training and test datasets: 60,000 training digits and 10,000 test digits.
- Baseline
- The first model reached 92.302% accuracy on the MNIST test set.
- Decision
- Selected model v3 because it produced the highest recorded MNIST test accuracy.
- Metrics
-
- Best MNIST test accuracy: 98.952% — Model v3, selected from the three notebook architectures.
- Personal handwriting accuracy: 75.56% — Small custom set; included as a domain-shift check, not a benchmark.
- Limitations
-
- MNIST is a narrow digit-recognition dataset and does not represent general handwriting legibility.
- The custom handwriting sample is small and its size is not documented in the published result.
- Evidence
- Evaluation notebook
Demo
Draw a digit (0-9) or load a sample, then score how legible it is.
- Pick a sample from “Daniel’s Handwritten Numbers”, or draw a digit on the canvas.
- Click “Rate digit” to submit.
- Use the eraser to clear the canvas and try another digit.
- Review the predicted digit, confidence, and legibility score breakdown.
Links
Data Links
Notes
MNIST is the training baseline; the personal handwriting scores are a domain-shift check, not a full handwriting benchmark.