Architecture
Why most AI starter kits rent the model — and when that's the right call
Look at almost any AI SaaS starter kit and you'll find the same shape underneath: auth, a database, Stripe, a credits table, and a thin layer that forwards your users' requests to somebody else's model API. That is not laziness. It's a design choice with a clear logic — and a clear limit.
What a wrapper kit is actually optimizing for
The kits in this category integrate hosted providers — OpenAI, Anthropic, Google, Groq, ElevenLabs and friends — and ship a handful of demo apps on top: a chat agent, an image studio, a voice studio, a transcriber. What that buys you is real:
- Time-to-first-feature measured in hours. An API key and a fetch call, and you have generation working.
- Zero infrastructure surface. No images to build, no workers, no GPU to keep healthy.
- Model choice as a config value. A better model ships next month? Change a string.
- Breadth over depth. Text, image, voice, transcription — one kit touches all of them, because each is just another endpoint.
If your product is fundamentally a thin interface over a general-purpose model, this is the correct architecture and you should stop reading. Renting is the right call whenever the model isn't your product — the workflow around it is.
The one thing renting can't give you
A rented model has a price per call that you do not set and cannot engineer down. That's fine at low volume, and it becomes the whole conversation at high volume, because your cost per unit is fixed while your revenue per user is not.
It shows up hardest in products where one user action costs several model calls. Generate a character, then place that character in twenty scenes, and you didn't buy one image — you bought twenty-one, each at list price, forever. There is no batching your way out of it and no optimization available to you, because the meter isn't yours.
The honest counterweight
Owning the inference layer means owning its problems: container images, cold starts, workers that fail in ways an API never would. That is real work, and for low or spiky volume it is work you'd be doing to save money you were never going to spend. We wrote out where the break-even actually falls — with a calculator, because the answer depends on numbers only you have.
The question that decides it
Not "which is cheaper" — that's downstream. The question is: does your product's core loop call the model once, or over and over for the same user?
Call it once and renting wins on every axis that matters. Call it repeatedly — a character your users keep generating scenes for, a subject they keep re-rendering — and the meter is your business model, so it had better be a meter you own.
What owning it looks like in practice
It is not "run a GPU server." Serverless GPU means workers spin up on demand and scale to zero when idle, so idle costs nothing. What it does mean is that a handful of engineering problems become yours: baking model weights into the container so workers don't re-download them at boot, an async job queue so your web server never blocks on a GPU, a way to poll for completion that needs no webhook infrastructure of its own, and serving results without exposing your storage.
Each is solvable. Together they're the weeks between "the model works on my machine" and "users are paying for this." That gap is what OwnStack is: a production starter kit and written course for an AI character app that runs on infrastructure you own — including a 2-stage consistency engine, that async job pipeline, credits and Stripe, and the 26 traps we hit ourselves.
That demo is the kit, deployed as-is.
Related: Self-hosted GPU vs hosted image API — where the break-even actually is · Character consistency: LoRA vs reference editing