All writing
Engineering

A cold start is not a hang, so stop rendering it like one

Scale-to-zero GPU inference means some requests wait for a container. The engineering problem is real but small; the product problem is entirely about what you show while it happens.

Serving inference on scale-to-zero GPUs is the right economic choice for spiky workloads. The cost is that some requests arrive when nothing is warm and have to wait for a container to come up.

Baking model weights into the container image removes the largest part of that wait — a cold start becomes a container pull rather than a multi-gigabyte model download. That is worth doing first because it shortens the actual wait rather than merely describing it.

What remains is a product problem. A user who waits twenty seconds staring at an unlabelled spinner concludes the product is broken. The same user waiting the same twenty seconds against "starting GPU — pulling container" concludes the product is working. Queued, starting and generating are three different states and showing them as one is a choice, not a limitation.

The last piece is anticipating intent. Focusing the prompt box is a strong enough signal to start warming a container — by the time a prompt has been typed and submitted, the wait is frequently gone entirely.