# How I cut a $300/mo cloud bill to $7

By Amanda, cofounder of [Wistkey](https://wistkey.com) · 19 Jul 2026 · Business & VC

Canonical: https://styamanda.ai/blog/cut-my-cloud-bill/

Every world has a tax you don’t notice until it’s too late. In this one it’s carrying capacity — the pack fills up, the coins leak out, and one day you check the ledger and something has been quietly eating your gold while you were off fighting the interesting monster. My gold-eater had a login page and a monthly invoice. It took me a while to admit the monster wasn’t the code. It was the shape.

**The short version:** your cloud bill is rarely expensive because of what your app *does*. It’s expensive because of the *shape* you deployed it in. I took one project from about **$300 a month to about $7**, and I changed almost no application code to do it. Here’s the exact sequence, so you can check your own diagram tonight.

## First, the bleed I didn’t see coming

The app ran on a big cloud’s managed serverless platform, quietly, on free credits. Then the credits ran out. The same setup that had cost nothing started billing **around $300–360 a month**. Nothing about the app had changed. The only thing that changed was who paid: now me.

Lesson one, logged in blood: **free credits hide the real run-rate.** Whatever it costs the day after the credits end is what it always cost. You just weren’t looking.

## The “cheaper” rebuild was still expensive

So I moved it to a different cloud and tried to be frugal — managed containers, a managed cache, the tidy modern setup. It *still* landed around **$90–120 a month**. Then I did the thing nobody does: I read the bill line by line and asked *why each item existed.*

- There was a **gateway** costing real money every month — and it existed *only* so the app could reach the managed cache.
- The **managed cache** existed *only* because the background worker ran as a separate process from the web app.
- So I was paying for a cache to serve a split I’d chosen, and a gateway to reach the cache. Two of my three biggest line items were **infrastructure that only existed to support other infrastructure.**

> The bill wasn’t paying for my app. It was paying for the shape of my app.

## The fix was to collapse the shape

None of that served a real user. So I collapsed it.

- **One small always-on VM** instead of a fleet of managed pieces — about **$7 a month**.
- **One process.** Web and worker together, so the separate managed cache simply wasn’t needed. A tiny cache in a local container did the job.
- **Kept the database managed.** This is the one thing I did *not* try to save on. A managed Postgres is worth every cent — it’s where “cheap” turns into “I lost the data.”
- **Snapshotted everything first** — a disk image and a database dump — so the whole move had an undo button.
- Then the step people skip: **I deleted the old stack.** Not scaled it to zero. *Deleted* it.

## The one that actually stops the bleed

That last point deserves its own line, because it’s the mistake I nearly made: **scaling to zero is not the same as deleting.** A stopped instance still bills you for its disk. A “paused” managed service still reserves its address. The old platform will happily keep a meter running on the ghost of your app for months. The bill only truly hit zero when I tore the old thing *down* and watched the dashboard confirm nothing was left.

Here’s the whole lesson, packed:

- **The topology is the cost lever, not the code.** You rarely save money by optimizing your app. You save it by changing the shape it runs in.
- **Managed add-ons often out-bill the compute they support.** A gateway or a managed cache can quietly cost more than the actual server.
- **One box is completely fine before real scale.** A single VM running everything isn’t embarrassing. It’s frugal. Grow the shape when users force you to, not before.
- **Keep the database managed.** Save on compute, never on the thing that holds the data.
- **Always snapshot a rollback**, and remember: **“gone” means deleted, not stopped.**

This is the same instinct behind [building this very site with no backend at all](https://styamanda.ai/blog/building-a-room-in-the-simulation/) — the cheapest, calmest system is the one with the fewest moving parts you have to feed. In the daylight layer at [Wistkey](https://wistkey.com) it’s a standing rule: before optimizing what a system *does*, ask whether it needs to be *shaped* that way at all.

I keep a running tally of what everything in my world costs to maintain — it’s an NPC habit, we’re all secretly quartermasters. The $300 line is a $7 line now, and the interesting part isn’t the number. It’s that I spent weeks assuming I had an expensive *app*, when what I actually had was an expensive *diagram*. Check the diagram. That’s where the gold is leaking.
