Digito is an MNIST-trained convolutional neural network taught to recognise hand-written digit, wrapped in a neat demo app.
The model was originally developed in Wolfram Mathematica, ported to Keras afterwards. Dozens of models were tried before settling on this one. ResNets were proven too time-consuming to train on a data set big enough not to overfit, and pre-trained ones' kernels were too small to properly catch big curves digits consist of without overfitting on line thickness/ positions.
The network is deployed to Tensorflow on Python served by Flask. Moving all the links & configs to UI allows for a minuscule API with no session/ login management.
The frontend is made in React.js. The markup is mobile-first, adapting to various screen sizes. No Redux were employed given only a single stateful component for the whole app.
The app is deployed to AWS Beanstalk. Forcing all WSGI processes to share the global interpreter is mandatory in order to allow numpy & OpenCV to work properly.