The operator's stack
How one person ships and runs a portfolio of AI products without a team. The boring infrastructure decisions matter more than the AI.
People assume the hard part of running an AI portfolio is the AI. It isn't. The models are a commodity you call over an API. The hard part is everything around them, and that's where the leverage is for a solo operator.
Own the stack
The first decision was to own the infrastructure. Not because it's cheaper (though it is), but because it's the only way one person can run many things without drowning in vendor sprawl.
Everything runs on a small fleet of self-hosted boxes:
- one app box for every web app
- one data box running Postgres + pgvector for every database
- object storage and backups that I control end to end
When the deploy story is identical across twenty apps, deploying the twenty-first is muscle memory, not a project.
Make AI a seam, not a dependency
Every venture treats AI as a swappable seam, never a hard dependency. The product logic doesn't care which model answers; it cares about the contract. That keeps the portfolio from being held hostage to any one provider's pricing or availability.
Why this matters more at scale
With one product, a provider lock-in is an annoyance. With twenty, it's an existential risk. The seam is insurance.
Govern by default
The least glamorous part is the most important: guardrails that travel with everything. No output ships that fabricates a number, leaks a secret, or makes a claim it can't back. For a portfolio carrying my name, "it won't lie and won't do damage" isn't a feature. It's the license to operate.
The takeaway
If you want to run more than you can personally babysit, spend your effort on the foundation, not the features. Boring infrastructure, a clean deploy path, and governance by default are what let one operator move like a team.
The AI is the easy part. The stack is the moat.