Why we self-host the whole stack
The search engine, the meaning model that powers ad matching, and the ad serving itself all run on our own infrastructure. Here's the honest reasoning — the quality and privacy we gain, and the operational cost we take on to get it.

Most companies our size rent their intelligence. They call an outside API for search, another for anything involving meaning, and a third for serving. It's the default, and for many teams it's the right call. We went the other way: the search engine, the meaning model that powers our ad matching, and the ad serving all run on infrastructure we operate. This isn't ideology. It's a deliberate trade, and it's fair to show our work — including the parts that cost us.
What 'the whole stack' actually means
Three pieces have to work together for 10AM's marketplace to match ads to shows well:
- The search engine — how we find and filter candidates fast, whether a creator is searching or a campaign is looking for shows.
- The meaning model — the part that turns a show and a campaign into comparable representations so we can tell, by meaning, which pairings fit. It runs on our own GPU.
- Ad serving — the system that actually delivers the matched ad and records what happened.
Renting any one of these means shipping data out and paying per call to get an answer back. We decided the answer was important enough — and frequent enough — to keep in the building.
Quality without a per-call meter
When you pay an outside API per request, every improvement fights a hidden tax. Want to re-score a match with a bit more nuance? That's another call, another charge. Want to re-evaluate every show against a new campaign nightly? The meter runs the whole time. That pricing pressure quietly shapes your product: you start avoiding the very computation that makes results better.
When quality costs a fee per call, you ration quality. When you own the machine, you spend it freely.
On our own hardware, running the matching model an extra time is essentially free — it's just electricity and time we've already paid for. That changes what we're willing to do. We can be generous with computation exactly where generosity makes matches better, instead of rationing it to protect a bill.
Data stays in-network
Every rented API call is a small act of trust in someone else. To get an answer, you hand a vendor the input — in our case, the substance of a creator's show and an advertiser's campaign. Do that on every request and a lot of sensitive business detail lives, however briefly, on infrastructure you don't control. Surveys consistently put data privacy at the top of the list of reasons organizations hesitate to send data to outside AI services.
By self-hosting, the computation happens where the data already lives. The text of shows, the specifics of campaigns, and the signals behind a match don't leave our network to be processed by a third party. For a platform whose whole job is to sit between creators and advertisers and be trustworthy to both, keeping that data in-house isn't a nice-to-have. It's the product.
The honest cost of doing it ourselves
Now the part the marketing pages skip. Self-hosting is not free, and at low volume it's often more expensive than an API. Independent analyses tend to agree on the shape of it:
- It only pays off past a volume threshold. Below a certain steady request rate, the fixed cost of running your own hardware loses to pay-as-you-go pricing.
- Hardware is the smaller bill. The larger cost is usually engineering — the people and time to keep it reliable, patched, and fast. A 'free' open model can cost real money in salaries to operate well.
- Idle capacity is waste. A GPU sitting at low utilization inflates your true cost per result. You have to keep it busy to make the math work.
We took this on with eyes open because our workload fits the pattern where it pays: the matching engine runs constantly, against a large and growing set of shows and campaigns. That's the always-on, high-volume case where owning the machine beats renting it.
When renting is the right answer
To be clear, self-hosting is not automatically virtuous. If your usage is spiky, low-volume, or exploratory, an API is almost certainly the smart choice — you get frontier capability with none of the operational burden, and you only pay for what you touch. We rent, too, where it makes sense. The decision isn't 'own everything.' It's: own the parts that are core, constant, and sensitive; rent the rest. For us, search, meaning-based matching, and ad serving are all three. So we own them.
What you get because we made this trade
The reasoning above isn't abstract — it shows up in the product:
- Matches that lean on real computation, because we're not rationing it to save on per-call fees.
- Predictable behavior and speed, because we control the hardware and aren't queued behind a vendor's other customers.
- Data that stays in-network, because the work happens where your information already lives.
We pay for that in operational complexity and up-front cost, and we think it's worth it. The whole stack running under one roof is what lets us make the marketplace better without asking permission — or paying a toll — every single time.