The Build-vs-Buy Flip: Which SaaS an AI Agency Can Replace for a Client (2026)

Published September 10, 2026 · Updated September 10, 2026By ABD Legacy LLC
Build vs buySaaS replacementAgency economics

On September 9, 2026 at 14:24:44 UTC, Pieter Levels (@levelsio) published a list of fourteen paid services he has replaced with ones he built himself, under a line that has since travelled well beyond his own audience: “I replaced all these SaaS with my own vibe coded now, so about $25,000/mo savings.” Annualised, his headline is roughly $300,000 a year of subscriptions removed from one operator’s stack. The figures he states line by line in the same post add up to $20,750/mo — about $249,000 a year — and the $4,250/mo difference between the two numbers is a gap his post does not explain.

For an agency, the dollar figure is not the interesting part. The direction of the question is. The tooling half of the agency model has been a resale for a decade: the client rents seats, the agency configures them and adds services around them. If the client’s internal tool can be built as part of the project, that model inverts — the thing you used to resell becomes the thing you build, and the client’s existing subscription invoice becomes the anchor the build is priced against.

This page is the honest version of that argument. It uses one operator’s itemised list to show which SaaS categories fell, keeps the category that only fell after five days of effort and borrowed expertise exactly where it belongs — not deleted, not dressed up — and ends with the checklist we run with a client to decide whether their moat is buildable or rentable.

Which SaaS categories can an AI agency replace with a self-built tool?

In the one public list we have — @levelsio’s, published September 9, 2026 — the categories that fell were image and media APIs, content moderation, customer support, maps, video streaming, screenshots, error monitoring, uptime monitoring, a photo editor, an automation router and SERP scraping, itemised at $20,750/mo. Two line items carry no figure at all (a weather API and a blog platform), and the services the same operator says he will not replace are domains, email sending, object storage, servers and frontier LLM inference — the places where the vendor’s value is infrastructure that has to keep operating rather than software that can be rewritten.

What he actually replaced: all fourteen line items

The table below is the post, complete, with his own saving figures in his own words. Two things are worth noticing before the numbers: the two largest line items are not developer tooling at all — they are human labour functions (moderation and support) that were replaced by models rather than by code — and the smallest line items are the ones that turn up most often in a small client’s stack (uptime monitoring at ~$50/mo, an automation router at ~$100/mo).

#What was rentedWhat replaced itStated saving (his words)
1Weather APIown vibe coded service on Norway's meteorology API
2Image resizing APIown API on NodeJS Sharp + Redis~$1,500/mo
3Google Vision NSFW detectionown service on Python NudeNET~$2,500/mo
4Human moderatorsown moderation on all his sites with @xAI~$10,000/mo
5Customer support@featurebasehq + an AI support bot$5,000/mo
6Mapboxown replacement built on OpenFreeMaps~$500/mo
7Cloudflare Streamingown Nginx VPS video streaming~$250/mo
8API Flashown screenshot service for social images~$250/mo
9New Relic + IPHubown error monitoring / DDoS blocking / fleet management (error2telegram)~$250/mo
10Scrapingbee / SerpAPIown $1/mo scraper with Patchright~$250/mo
11IFTTTTelegram bot~$100/mo
12Photopea (editor inside Photo AI)own vibe coded photo editor~$100/mo
13Uptimerobotown Uptime Canary app on Kuma ($5/mo)~$50/mo
14Ghost blogown blog platform

Summing the twelve stated figures gives $20,750/mo; rows 1 and 14 carry no dollar amount, so no part of the difference below can be attributed to them without inventing a number. Everything in the table is one operator’s self-reported experience on his own products, not an audited total and not a benchmark for any other business.

The $4,250/mo gap: read $25,000 as a headline, not a total

This is the sort of detail that decides whether a page is quotable or quietly wrong, so it is worth stating plainly:

How the number is arrived atAmount
Sum of the twelve stated figures in the post$20,750/mo
His rounded headline in the same post$25,000/mo
Unreconciled gap$4,250/mo (17.0% of the headline)

There are three legitimate ways to describe his savings and only one dishonest one. Honest: “he claims about $25,000/mo”; “the itemised figures total $20,750/mo”; “his rounded headline is $4,250/mo higher than the sum of the figures he lists.” Dishonest: presenting $20,750/mo (or $25,000/mo) as an audited number. If your agency quotes this case to a client, quote both figures and say which is which. It costs one sentence and it survives the client reading the original post.

The boundary case: the SERP scraper that did fall — after five days, a borrowed friend list and a 30-second pace

Most coverage of this list pairs it with the same tidy conclusion: reliable SERP scraping did not fall, because it depends on adversarial infrastructure that resists AI-assisted building. As of September 4, 2026 that was true. By September 9 it was not, and the sequence in between is more useful to an agency than the tidy version.

Stage 1 — September 4, 2026, 19:01:38 UTC (post): he had tried for weeks and was giving up.

“I’ve tried for weeks now to build my own @ScrapingBee and repeatedly AI has now told me that it can’t do it. 80% of my scraping is Google SERP results for Hotelist and even with residential IP proxies and solve CAPTCHA services and OpenSERP scraper it won’t do it well for thousands of queries, it just gets blocked. So I will keep paying them $99/mo.”

Stage 2 — September 9, 2026, 10:48:39 UTC (post, and his own archive the same day): five days later, it worked.

“Okay with lots of help from @javilopen and his Spanish scraping friends I’ve managed to vibe code my own @Scrapingbee alternative and replace my $249/mo Scrapingbee plan with my own $1/mo scraper running on my VPS!”

So the category did fall, and ScrapingBee now sits inside the replacement list itself (~$250/mo, row 10 above). What matters for anyone pricing a build is how it fell, because all three of the enabling conditions are things an agency has to buy or borrow separately from the model:

  1. Five days of effort plus expertise he did not have. He credits @javilopen “and his Spanish scraping friends”. The scarce input was not model time; it was a person who had already fought the anti-bot fight and could say which proxy pool was still clean.
  2. A non-shareable input. He declines to publish the proxy recommendations, on the grounds that publishing them is what makes them stop working. A dependency replaced by social capital is not a repeatable playbook, which means this particular rebuild is not portable evidence for a client project.
  3. An order-of-magnitude throughput penalty. The working design is Playwright driving a real headful Google Chrome on his VPS with a persistent context and “slow pacing like every 30 seconds or so”, which he reports gets about a 90% success rate — “similar or better than Scrapingbee” on quality. It is a working scraper; it is not a commercial API’s pace.

The honest counterweight sits on the same page as the success post: a commercial scraping operator replying in his thread says scraping “is almost impossible to vibe code because you have about 6000 edge cases.” That is an opinion from someone with a commercial interest, not a measurement — and it is the right thing to show a client next to the success story, because both are true at different volume levels.

One detail we will not smooth over: he says $99/mo on September 4 and “my $249/mo Scrapingbee plan” on September 9. Both are real ScrapingBee tiers — the vendor’s live pricing page lists Startup at $99/mo and Business at $249/mo — and none of the three posts explains the change. A page that prints a single ScrapingBee number is asserting something the source does not.

Generalised into a rule an agency can actually use: the boundary is not “adversarial infrastructure resists AI”. It is that the price of a rebuild includes contested inputs — expertise you must borrow, secrets that work only while unpublished, and throughput you give up — and for anything defended continuously by its owner, that price usually still exceeds the subscription.

The buildable-vs-rentable checklist for a client’s moat

This checklist is ours, generalised from one operator’s case and from the boundary story above; it is not something he published. Run it line by line with the client in the room, because the answer is rarely uniform across their stack — a typical small business ends up with two or three build candidates and a longer list of things to keep renting.

SignalBuild itKeep renting
Where does the vendor's value live?In software plus a public data source, and the data source is not fighting backIn infrastructure someone keeps operating — IP pools, GPU fleets, deliverability, registrar status
Who has to be borrowed to build it?Nobody: the first competent engineer on the team can own it end to endSomeone with unshared know-how, and the know-how stops working when it is written down
What throughput does the client need?Hundreds of operations a day, or latency nobody noticesThousands of queries an hour at commercial-API pace
How commodity is the output?Resize, screenshot, ping, triage, classify — 'correct' is easy to specifyFrontier quality where being second-best is unacceptable
What happens on a bad Tuesday?An internal report is late, and a human picks it upA number other people make decisions from stops moving, or an outward-facing system fails
Is there a compliance or institutional barrier?None: the output is ordinary softwareYes: becoming a registrar, sending mail at scale, handling regulated data
Does the client already hold the capability?They can maintain it, or they are buying that from the agency deliberatelyNobody in the building can, and turnover would turn the build into a liability
Does a market already compete on it?Two or three vendors, so the price collapses on its own and the build is optionalOne vendor, a sticky renewal, and a price that has not moved in three years

The three questions to open with, if the client only has twenty minutes:

  1. Where does this vendor’s value live — in software we could write, or in infrastructure they continuously operate? IP pools, deliverability, GPU fleets and registrar status did not fall in this case, and they will not fall in the client’s either.
  2. What does the rebuild cost in contested inputs — who has to be borrowed, what cannot be published, and what throughput do we give up? A build that depends on one contractor’s unpublished proxy list is not a build you can promise a client.
  3. If the rebuild breaks on a Tuesday, whose number stops moving, and who is on the hook? Internal reporting is a safe place to start; anything customer-facing or revenue-bearing should stay rented until the build has survived a quarter.

What he says he will never replace (as of September 9, 2026)

His own “never” list is as instructive as the savings list, and it is date-dependent. As posted on September 9, 2026 it was: Cloudflare Domains, Cloudflare Email Sending, Cloudflare R2 storage, Backblaze B2 for backups, Hetzner for all servers, and xAI for all LLMs for all his sites. That list is also his answer to what SaaS is still worth paying for in 2026, and none of it is free: on his own figures the AI inference he refuses to self-host works out to about 6.4% of revenue. His reasoning is refusal to become an ICANN registrar, to run his own email, to run hard drives at home, or to run a GPU rig at home. On September 4 the same list still included ScrapingBee; by September 9 it did not.

Two lessons for an agency. First, the pattern in what survives is not “expensive” or “big vendor” — it is operational: something that only works while it is continuously operated, defended or certified. Second, the last line on that list, xAI for all LLMs, is the counterweight to the whole build-vs-buy story: replacing a subscription does not delete its cost, it converts it into a metered one. The same operator’s next data point makes that concrete — he reports a profit margin of 99.4% without AI inference and 93% with it (mostly Photo AI), which is a 6.4-point cost that works out to about 6.4% of revenue and roughly 91% of his total cost of goods (worked through step by step on our calculator site).

So the honest agency pitch is not “we will remove your SaaS bill”. It is “we will move it, and here is what it becomes” — a smaller run cost you operate deliberately, plus the inference line that arrives with the features your client actually asked for.

What this means for an AI agency

The service shape implied by this case has three parts, and only the middle one is a build:

  1. A build-vs-rent audit. Walk the client’s subscription list against the table above and the checklist, mark each line build / rent / renegotiate, and put a number on the candidates. This is a one-to-two week deliverable that does not depend on any build succeeding.
  2. The build itself, scoped to the lines that passed the checklist — commodity output, non-contested inputs, internal blast radius — with the boundary case written into the statement of work as the explicit reason some lines stay rented.
  3. A keep-alive retainer. Everything on the replacement list is now something the client’s team, or yours, has to run: an uptime checker that has to page someone, a scraper that has to notice it has been blocked, a moderation service that has to be re-pointed when the model changes.

Two commercial notes that follow from the case rather than from theory. The anchor for pricing is the invoice being replaced — ask for it, because “we replaced your $10,000/mo moderation stack” is a very different negotiation from “we built a moderation service.” And the boundary case is an asset, not a weakness: the agencies that will get burned by this trend are the ones that promise every subscription is replaceable, then hand the client a scraper that gets blocked at commercial volume.

There is one more quote from the same thread that agencies should read as a warning about their own model. Asked what remains defensible, he answered:

“I think my only moat left post-AGI is: https://Nomads.com community + data (now free membership), Me being on @X with an audience, My https://levels.vc investments. The rest will be completely and utterly wiped out with no doubt.”

If a subscription resale was the moat, that is the part of the business exposed — not the client’s subscription. What survives the flip is the relationship, the client’s data and context, and the operating discipline to keep the built thing running.

Get matched with a vetted AI agency →

Frequently asked questions

Which SaaS categories can an AI agency replace with a self-built tool?

In the one public list we have — @levelsio's, published September 9, 2026 — the categories that fell were image and media APIs, content moderation, customer support, maps, video streaming, screenshots, error monitoring, uptime monitoring, a photo editor, an automation router and SERP scraping, itemised at $20,750/mo. Two line items carry no figure (a weather API and a blog platform), and the services he says he will not replace are domains, email sending, object storage, servers and frontier LLM inference — where the value is continuously operated infrastructure rather than software.

How much did the operator actually save?

His headline is about $25,000/mo, which annualises to roughly $300,000. The twelve figures he states in the same post sum to $20,750/mo — about $249,000 a year — leaving a $4,250/mo gap (17.0% of the headline) that the post does not explain. Present the $25,000/mo as his rounded claim and the $20,750/mo as the itemised total; they are different numbers. Vibe coding internal tools is where the cost savings come from, and the arithmetic is his own: the twelve stated figures in the fourteen replacements sum to $20,750/mo, about $249,000 a year.

Why did the SERP scraper rebuild succeed after failing?

Because the second attempt added three things the first one lacked: five days of effort plus expertise he did not have (@javilopen and his Spanish scraping friends), a non-shareable input (he will not publish the proxy recommendations because they stop working once shared), and acceptance of an order-of-magnitude throughput penalty — Playwright driving a real headful Chrome with a persistent context at roughly 30-second pacing, at about a 90% success rate. The build is real; it is not a repeatable playbook an agency can copy off a thread.

Is reliable SERP scraping too hard to vibe code?

Not as of September 9, 2026 — he replaced a $249/mo ScrapingBee plan with his own $1/mo scraper. The honest caveat is cost shape rather than feasibility: a commercial scraper operator replying on his own thread says scraping is almost impossible to vibe code because you have about 6000 edge cases, and the rebuild only worked at roughly 30-second pacing. Treat anything that depends on continuously defended infrastructure as buildable at a price that is often worse than the subscription.

What is the buildable-vs-rentable test for a client's moat?

Build when the vendor's value is software plus a public data source, the output bar is commodity, the client already has the expertise, and a bad Tuesday costs an internal report. Rent when the value is continuously operated infrastructure or institutional status — IP pools, GPU fleets, email deliverability, registrar status — when throughput has to match a commercial API, when the rebuild depends on someone else's unpublishable know-how, or when a failure moves the client's revenue.

What does AI inference cost as a share of revenue in this case?

About 6.4% of revenue — the same operator's September 9, 2026 margin post puts his profit margin at 99.4% without AI inference and 93% with it (mostly Photo AI), a 6.4-point cost that works out to roughly 91% of his total cost of goods. It is one self-reported, unaudited figure from a single operator with one dominant image workload, so use it as an anchor and run your own numbers in the inference-as-a-margin-line estimator.

Sources

  1. @levelsio (Pieter Levels), SaaS replacement list, September 9, 2026, 14:24:44 UTC — https://x.com/levelsio/status/2097692685775565031 (x.com serves no post body to scripted clients; the text was read from two independent mirrors, twiscan.com/en/x/levelsio and x.pcstyle.dev, and from the author’s own archive)
  2. levels.io author archive, “I replaced all these SaaS with my own vibe coded services” (same list, 370,267 views / 3,495 likes at capture) — https://levels.io/replaced-saas-with-vibe-coded-services
  3. @levelsio, margin reply, September 9, 2026, 15:21:24 UTC — https://x.com/levelsio/status/2097706947382292964
  4. @levelsio, on SaaS subscriptions being “vibe coded by an AI agent/model,” September 9, 2026, 15:16:22 UTC — https://x.com/levelsio/status/2097705680224256375
  5. @levelsio, on his post-AGI moat (Nomads.com, his X audience, levels.vc), September 9, 2026, 16:52:34 UTC — https://x.com/levelsio/status/2097729888547447129
  6. @levelsio, on failing to rebuild ScrapingBee and continuing to pay $99/mo, September 4, 2026, 19:01:38 UTC — https://x.com/levelsio/status/2095950432883368091
  7. @levelsio, on replacing a $249/mo Scrapingbee plan with a $1/mo scraper, September 9, 2026, 10:48:39 UTC — https://x.com/levelsio/status/2097638309384036705; author archive: https://levels.io/vibe-coded-own-scrapingbee-alternative
  8. ScrapingBee pricing (Startup $99/mo, Business $249/mo), read September 10, 2026 — https://www.scrapingbee.com/pricing
  9. All six @levelsio timestamps above are UTC, decoded from the X snowflake IDs and matched against the mirrors’ own display strings; in US Eastern time the list post is 10:24:44 and the ScrapingBee failure post is 15:01:38.