A Flask wrapper for Keras models that actually looks decent
Skip the Gradio bloat when you just need a clean web UI for an image classifier.

What it does
This repo wraps a Keras/TensorFlow image classifier in a Flask web app. Drag and drop an image, get a prediction. It ships with VGG16 by default, but you can swap in your own .h5 model by dropping it in a directory and uncommenting a few lines.
The interesting bit The author resisted the easy path of jQuery and Bootstrap. The frontend is vanilla JS, HTML, and CSS — which means less dependency rot and a UI that happens to work on mobile without a framework fight. The README even nudges you toward Gradio or Streamlit if you need something fancier, which is a refreshing dose of honesty.
Key highlights
- One-liner Docker run:
docker run --rm -p 5000:5000 ghcr.io/imfing/keras-flask-deploy-webapp:latest - Supports drag-and-drop image upload
- TensorFlow 2.x and Python 3.11 in the container
- Pre-trained model support via Keras Applications (ResNet, DenseNet, etc.)
- UI lives in plain
templates/andstatic/— no build step
Caveats
- The customization instructions link to line numbers in a fork (
mtobeiyf/...), not this repo — likely stale references from a transfer or rename. - It’s a template, not a framework. You’ll be editing
app.pydirectly for anything beyond model swapping.
Verdict Good for students, hackathon demos, or anyone who needs a quick human-facing interface for a trained model without learning another abstraction. Skip it if you need multi-user serving, API rate limits, or anything resembling production infrastructure.