Skip to content
All posts

Why I Stopped Betting on One Model Provider

Building around a single model felt simpler for a while. It also meant every outage, price change, or deprecation was entirely someone else's decision to make for me.

Nathan Levine

3 min read

Why I Stopped Betting on One Model Provider

For a while, the simplest architecture was also the obvious one: pick one model provider, build directly against their API, move on. It's still the right starting point for a lot of projects. But as soon as a product depends on that model actually being available, affordable, and behaviorally stable, single-provider dependence stops being a simplification and starts being a risk nobody chose on purpose.

What single-provider dependence actually costs you

  • Outages become your outage. If the only model you call goes down, your product goes down with it, on a timeline you don't control and can't mitigate.
  • Pricing changes aren't negotiable from where you sit. A price increase on a model you're deeply coupled to is a cost you absorb, not a decision you get to weigh in on.
  • Deprecations force migrations on someone else's schedule. A model version getting sunset means a rewrite of prompts and evals on a timeline set by the provider's roadmap, not yours.
  • Silent behavior drift is invisible until it isn't. Even without a version change, model behavior can shift under a rolling update. Without a comparison point, you have no way to tell if a support-quality regression is your prompt, your data, or the model itself.

What a multi-model setup actually buys you

This doesn't mean spreading every call across three providers for its own sake — that adds real complexity for tasks where it doesn't matter. It means designing the option in, for the parts of the system where it does:

  • An abstraction layer between your application logic and the specific model API. If swapping providers means rewriting business logic, you've made the dependency worse, not managed it. If it means changing a config value, you've kept the option open.
  • A fallback path for critical flows. If the primary model is down or degraded, a secondary model — even a less capable one — that can keep a critical path functioning is worth the extra integration cost for the flows that actually need uptime.
  • Ongoing comparison, not a one-time bake-off. Periodically running the same eval set against multiple providers tells you not just which one to use today, but whether your current choice is still the right one as all of them keep changing.

The trade-off, honestly

Multi-model support is real engineering overhead — more integration surface, more prompts to maintain, more to test. For a side project or something without uptime requirements, single-provider is still the right call; don't build in flexibility you don't need. The decision worth making deliberately is which category your project is actually in, instead of defaulting to single-provider by inertia and discovering the cost of that choice during an outage.

Thanks for reading. If this was useful, the newsletter below is the best way to catch the next one.

Keep reading

More essays