Turned a notebook that had been "almost ready" for three weeks into an actual service this week. The model didn't change — the packaging did.

What made the difference:

  • One predict.py with a pure function, no global state
  • A tiny test that loads the model and runs a fixed input
  • Docker with a pinned wheel, not a pip install at boot

The notebook is still useful for experiments. It just isn't the deployment artifact.

Next: I want to try compiling one of these small models to WebAssembly so it can run client-side. If you've done that with a PyTorch model, I'd love to hear what worked.