The dominant pattern for AI in applications: Client → HTTP → Load Balancer → API Gateway → GPU Server → Model → Response → Client. Every link is a failure point. Every link adds latency. Every link costs money.

There’s another way: Client → Local Weights → Math → Response.

Ship the model. Not the API.

The trained model weights are a static file — JSON, ONNX, whatever your client can parse. Commit the file to your repository. The client downloads it once. Inference runs locally. Forever. Offline. Free.

The economics flip entirely. With an API: costs scale linearly with users. 1,000 users making 10 requests/day = 300,000 inference calls/month. With shipped weights: costs are zero regardless of users. The user’s device is the GPU. A million users cost the same as one.

What you give up: Model updates require a new release. Large models won’t fit on all devices. No server-side logging (which is a feature for privacy).

What you gain: Zero latency. Zero cost per inference. Works offline. Works when the API vendor goes down. Works when you stop paying. Works when the internet is slow. Privacy by architecture, not by policy.

Ship the weights. Kill the endpoint. Your users will never notice the difference — except that it’s faster, cheaper, and always works.