# Reduce SaaS Costs: My Entire Business Stack

By Luke Sidney (https://lukesidney.me) · 17 Oct 2026
Source: https://flowingkhaos.com/column/reduce-saas-costs-monthly-stack

> See one real business stack to learn how to reduce SaaS costs: a CA$160 Claude line, seven small dollar lines, and eight $0 lines, each measured before cuts.

## Reduce SaaS Costs: Measure Which Tool Spends Before You Cut Anything

To reduce SaaS costs, measure which tool is spending before you cut a single subscription. My whole business runs on one database, and the September 2026 bill was CA$160 for Claude plus about $97 of other lines billed as plain dollars, with eight lines at $0, domains included. I keep those two numbers apart on purpose: one is in Canadian dollars with tax, the others were billed as plain dollars, and adding them would make up a total nobody was charged.

Why lead with measuring? Because the tool you suspect is often not the tool that spends. I learned that one on my own servers, and the write-up is on this site: [Vercel Hobby could not carry the CMS](https://flowingkhaos.com/fixes/vercel-hobby-could-not-carry-the-cms) reports how two apps held 54.7% of a shared account's compute, and its rule is the one I keep: "Measure which project spends before you move anything."

So this is not a list of tools to cancel. It is my bill, line by line, for one month, with what each line runs and where each number came from. You can hold it up against yours.

What does a whole business stack cost? For me, in September 2026: one CA$160 subscription, seven small dollar lines, and eight lines at $0. It is that short because almost everything lives in one place, so I pay for very few places.

A free plan is a plan, not a promise. I will come back to that, because eight of my lines say $0 and I do not expect all of them to stay that way.

One honest limit before the numbers: I print no revenue here and no time saved. The goal I am working toward, in my own words, is "thousands of dollars per month in cash collected on less than 500$/month in external services, advertisement aside." That is the goal, not a result, and no month shows it yet in paid invoices. If you want more columns like this one, they live in [the column](https://flowingkhaos.com/column) index, where I write one piece a week.

## The September 2026 Bill, Tool by Tool

Here is what I was charged in September 2026. The amounts are as billed. Only one line, fal.ai, was read from a usage API; the rest are from the bills themselves.

| Tool | What it runs for me | September 2026 |
|---|---|---|
| Anthropic Claude Max | Every agent and coding session | CA$160, tax included |
| Vercel | Hosting for the web apps | $0 (Hobby), moving to Pro |
| Railway | Containers: the CMS and other services | About $6 for all my projects |
| Neon | The one Postgres database | $0, free plan |
| Cloudflare (R2, Workers) | File storage and the flowingkhaos site | $0 |
| Upstash (Redis, QStash) | Cache, notifications, background messages | $0, within free limits |
| Resend | Email | $0, free plan |
| Trigger.dev | Background jobs | $0, free plan |
| Langfuse | Tracing of AI calls | $0, free plan |
| Google AI Studio (Gemini API) | AI calls | About $15 |
| fal.ai | Image and video generation | $19.82 (measured, usage API) |
| OpenRouter, TypeSafe, other AI APIs | AI calls | About $5 |
| KeySearch | Keyword research | $24 |
| Higgsfield API | Video generation | $15 |
| Google Workspace | Email and documents | $12 |
| Domains | Names | Nothing monthly |
| Ads | None | I don't run ads yet |

Eight lines cost nothing that month: Vercel, Neon, Cloudflare, Upstash, Resend, Trigger.dev, Langfuse and the domains.

One of those zeros is changing. Vercel's Hobby plan was $0 in September, but its terms are for personal, non-commercial use, which my own fix page quotes. A business should not sit on it, so on 2026-10-17 I decided to move Vercel to Pro, about $20 a month. That is the first line on this bill that goes up on purpose.

The biggest line is the one every agent runs on. Claude Max is the plan behind Anthropic's models, and Anthropic's page [introducing Claude Opus 5.5](https://www.anthropic.com/claude-opus-5-5) dates the newest one to September 22, 2026.

## What One Database Runs, and Why the Stack Stays Small

Why so few paid lines? Because I do not pay one app per job. Almost everything sits in one Postgres database I own, and most of the tools on the bill read from it or write to it.

I counted it on 2026-10-14. These are tables, not rows: a table is one list of one kind of thing, like clients or invoices.

| Section of the one database | Tables |
|---|---|
| Business records and site content | 483 |
| The content engine | 47 |
| The agents service | 11 |
| Bookings | 6 |

On top of it run the Business app for quotes and invoices, the bookings app, OSI, the content engine that writes and checks articles like this one, the agents service, and one CMS behind every site I publish: clevrstart, flowingkhaos and lukesidney. On 2026-10-16 that CMS served 11 published flowingkhaos articles, 12 lukesidney articles, 32 clevrstart doc pages, 15 service pages and 307 media files.

Here is why that keeps the bill short. A separate CRM, a separate quoting tool, a separate booking tool and a separate blog platform would each charge a seat, and each would keep its own copy of my clients. One database means one place to pay for and one place to back up. The hub page on [How to centralize your business data](https://www.clevrstart.com/info/single-source-of-truth) describes the rule behind it: store each client, quote, invoice and booking once, in one database you own.

It also means the agents on that CA$160 line need no extra tools to work with my data. They read and act through one door with one key, which I describe in my column on how to [connect ai to business data](https://flowingkhaos.com/column/connect-ai-to-business-data-one-door). No connector subscription sits between them and the work.

## What I Dropped, and Why the Stack Got Smaller

Two lines are missing from the bill because I removed them.

UploadThing used to hold media uploads. It is gone, replaced by Cloudflare R2 storage, which costs nothing on my bill this month. Brevo used to send email. It was replaced earlier by Resend, also at $0 on the free plan.

R2 was already storing files for my own vault, so media had somewhere to go that I already used. The question was not "is this tool expensive?" It was "is this tool doing a job something I already pay for can do?"

That is the habit I would hand you. List each paid tool next to the job it does. When two lines do the same job, one of them is a candidate. When a line does a job nothing else can, it stays, whatever it costs.

The one database is what made both swaps cheap. Moving files from one storage service to another, or email from one sender to another, did not move my business data, because the data never lived in those tools. My column on why you should [Own your content: one CMS behind every site](https://flowingkhaos.com/column/own-your-content-one-cms) makes the same argument for pages and articles: when the content lives in a place you own, the tools around it become easy to change.

Am I done dropping? Probably not. But I would rather drop a tool after measuring what it does than cancel it in a cleanup mood and rebuild it next month.

## Measure Before You Cut: The Vercel Hobby Fix and the 25 Dollar Reversal Trigger

The one time I moved a big piece of the stack, I measured first, and the measurement changed the plan.

Over Jul 31 to Aug 29, the Vercel dashboard showed the CMS and the old flowingkhaos app holding 54.7% of the shared account's compute. My fix write-up, [Vercel Hobby could not carry the CMS](https://flowingkhaos.com/fixes/vercel-hobby-could-not-carry-the-cms), reports what happened next: the CMS moved to a Railway container "for a fixed monthly floor; its data stayed on Neon." Its rule is the whole method in one line: "Measure which project spends before you move anything."

That move put the CMS on Railway, which reads about $6 a month for all my projects. It is also why I wrote down the number that would undo it: if Railway usage goes over 25 USD a month for two months in a row, I measure both hosts again before I decide anything. A decision with no reversal number just stays, long after the reason for it is gone.

The same rule applies to AI spend, and Anthropic's own documentation backs it up. Its guide to [tracking cost and usage](https://console.anthropic.com/docs/en/agent-sdk/cost-tracking) explains that the cost figures its SDK reports are estimates made on your side, and that they can differ from what you are actually billed. So I treat the bill as the truth and the dashboards as hints. The one number read from a usage API is fal.ai at $19.82, taken from fal's usage API.

Here is how to do it for one line, with my Railway numbers as the example. Open the provider's usage page for one full month and write down what you were charged: for me, about $6 for all my projects. Write down what the line runs: the CMS and other services. Then write the number that would make you look again, and make it a number, not a feeling: mine is 25 USD a month, two months in a row. Do that for every paid line, and you have a bill you can act on instead of a cleanup mood.

If you take one thing from this section: before you cancel a tool, find out how much of your spend it really is.

## Free Plans Are Not Free Forever

Eight of my lines say $0. I would be lying if I told you that is the plan forever.

A free plan is $0 today, with terms. Vercel is the proof on my own bill: the plan was free, the terms did not fit a business, and the line is going to about $20 a month. I do not have the limits of every other free plan written in my records, so I will not quote them here. Read the limits of yours before you build on them, and note the day you checked.

Paid plans move too. Fello AI's guide to [Claude Code pricing](https://felloai.com/claude-code-pricing) notes that Anthropic has tested gating Claude Code before, so the price you see today is not guaranteed to last. That is my biggest line, and I hold it loosely.

The DEV Community's [Solo-Founder Playbook](https://dev.to/truongpx396/the-solo-founder-playbook-zero-hero-3j7d) argues the same point from the founder's side: a vendor's free tier is a way to win customers, not a gift. I agree. Use free plans, but price your stack as if each one could start charging. If one starting to charge would break you, that line is a risk, not a saving.

So here is the honest version of my eight zeros. They are zero this month. They depend on usage I keep small and terms I have read. I will report the month they change, the same way I report this one.

## The Claude Line, the Usage Lines, and Why I Never Merged Them

My bill has two kinds of lines, and they behave differently.

```chart
{"title":"Usage-based lines in dollars","unit":" USD","data":[{"label":"Google AI Studio","value":15},{"label":"fal.ai","value":19.82,"highlight":true},{"label":"OpenRouter and other AI APIs","value":5},{"label":"Higgsfield API","value":15}],"source":{"label":"Our own measurements"}}
```

The Claude Max line is a subscription: CA$160, tax included, billed as a flat monthly fee. The usage lines move with what I do: Google AI Studio at about $15, fal.ai at $19.82, OpenRouter and TypeSafe at about $5, Higgsfield at $15. A busy month of image and video work moves those. A quiet month shrinks them.

Suprmind's breakdown of [Claude AI pricing](https://suprmind.ai/hub/claude/pricing) notes that the list prices have barely moved while the model behind each tier and the usage limits have changed; this column reports my bill, not the plan name.

For teams, Anthropic's help page on [what the Enterprise plan is](https://support.anthropic.com/en/articles/9797531-what-is-the-claude-enterprise-plan) describes a different model, where the seat fee covers access and usage is billed separately; I am not on it, but it shows the flat-or-usage split is the vendor's choice.

Why did I never merge my lines into one total? Because they are in different currencies, and because they answer different questions. The subscription tells you what it costs to have agents at all. The usage lines tell you what this month's work cost.

## Verdict: Measure First, Then Decide What Stays

Here is the test I would give you. Credit for Startups puts it in one heading in its [SaaS startup costs guide](https://creditforstartups.com/resources/saas-startup-costs): "Cut anything that does not change the next decision." I agree, and I would add one step in front of it: read the bill first. You cannot judge what a tool changes until you know what it costs and what it does.

So, in order:

1. **Put each paid tool next to the job it does.** Two lines on one job means one is a candidate.
2. **Read the bill, not the dashboard.** The bill is what you are charged.
3. **Write the number that would undo each decision.** Mine for the CMS host is 25 USD a month, two months in a row.
4. **Price every free plan as if it could start charging.** If that would break you, it is a risk.
5. **Keep currencies apart.** Never add a Canadian line to an American one and call it a total.

I could be wrong about your stack. I don't know your life. I do know what my bill says, and it says a whole business can run on one database and a short list of tools. If you want the longer story of putting everything in one place, my column [Second Brain for Business: Why I Put Everything in One Database](https://flowingkhaos.com/column/second-brain-for-business-one-database) explains how I got there.

## Sources

- [Introducing Claude Opus 5.5 \ Anthropic](https://www.anthropic.com/claude-opus-5-5)
- [What is the Enterprise plan? | Anthropic Help Center](https://support.anthropic.com/en/articles/9797531-what-is-the-claude-enterprise-plan)
- [Track cost and usage - Claude Code Docs](https://console.anthropic.com/docs/en/agent-sdk/cost-tracking)
- [Claude AI Pricing: Pro & Max Subscription Plans in Sept 2026](https://suprmind.ai/hub/claude/pricing)
- [Claude Code Pricing 2026: Plans, Costs & Free Tier Guide](https://felloai.com/claude-code-pricing)
- [SaaS Startup Costs: 2026 Budget Guide - Credit for Startups](https://creditforstartups.com/resources/saas-startup-costs)
- [🦸 The Solo-Founder Playbook 📘: Zero to Hero 🚀 - DEV Community](https://dev.to/truongpx396/the-solo-founder-playbook-zero-hero-3j7d)
- [Own Your Content Means Control, Not Copyright: Run This Test](https://flowingkhaos.com/column/own-your-content-one-cms)
- [Own Your Content Means Control, Not Copyright: Run This Test](https://flowingkhaos.com/column/own-your-content-one-cms)
- [Own Your Content Means Control, Not Copyright: Run This Test](https://flowingkhaos.com/column/own-your-content-one-cms)
- [Connect AI to Business Data Without Handing Over Your Passwords](https://flowingkhaos.com/column/connect-ai-to-business-data-one-door)
- [How to centralize your business data](https://www.clevrstart.com/info/single-source-of-truth)
- [Why I put my whole business in one database](https://flowingkhaos.com/column/second-brain-for-business-one-database)
- [Give an agent your business context through one door](https://flowingkhaos.com/column/connect-ai-to-business-data-one-door)
- [Own your content: one CMS behind every site](https://flowingkhaos.com/column/own-your-content-one-cms)
- [The column](https://flowingkhaos.com/column)
- [Vercel Hobby could not carry the CMS — flowingkhaos](https://flowingkhaos.com/fixes/vercel-hobby-could-not-carry-the-cms)

## Questions, answered

### How much does a whole business SaaS stack cost?

In September 2026, my stack was one CA$160 subscription (Claude Max, tax included), seven small dollar lines, and eight lines at $0. I keep the Canadian line apart from the dollar lines, since they are different currencies.

### How does running everything on one database lower costs?

Almost every tool I use reads from or writes to one Postgres database, so there is no separate CRM, quoting, booking or blog subscription to pay. One database also means one place to pay for and one place to back up.

### What is a reversal number and why write one down?

It is the threshold that would make you look at a decision again. Mine for hosting: if Railway usage goes over 25 USD a month for two months in a row, I measure again. A decision with no reversal number just stays after its reason is gone.
