Skip to content
Gather Studio
← All posts
August 16, 2026 · 3 min read · build-in-public

I Burned $20 Fixing a 503. Here's the $0 Way.

This morning my Mac Mini started freezing. Load average hit 28 — normal is 2. Spotlight was re-indexing the whole drive after a reboot. Google Drive uploads were looping in the background. Chrome Remote Desktop was eating baseline CPU. All of it stacking at once.

While I was trying to fix the machine health issue, I pushed a commit to my monorepo. That push triggered six simultaneous Vercel builds. The spend cap hit. Sites went down.

Then I made it worse.

The $20 Mistake

I ran vercel --prod three or four times trying to get sites back up.

Each one is a full new build — compiles the whole Next.js app, uploads artifacts, provisions edge functions. Real build minutes, real money. The CLI ignores ignore commands entirely. There's no "just fix the 503" mode.

By the time I caught it, I'd burned through close to $20 in about ten minutes.

The $0 Fix

The right move is promote, not rebuild.

Every working deployment already exists on Vercel's infrastructure. When a site goes down, you don't need a new build — you need to point the production alias back at the last good one.

`bash

Promote last good deployment to production (no build, no charge)

vercel promote

`

Via the API, you can find the last READY deployment and promote it in a few lines of Python. I wrote a restore script — one command that brings every essential site in the empire back up without triggering a single new build.

The Actual Root Cause

The spend cap event happened because one project had a broken ignore command. It pointed at a directory that doesn't exist. Git diff on a nonexistent path always exits 0 — "no changes, please build." So every push to the monorepo triggered a full rebuild of that project.

Fix: exit 1. One line in the project settings. Done.

The monorepo isn't the problem. A monorepo with correct ignore commands is cheaper than separate repos — most pushes skip most builds. The problem was a misconfigured project silently eating builds on every commit.

What Solo Founder Ops Actually Looks Like

I'm running this from a Mac Mini, managing it remotely over Chrome Remote Desktop. The machine health monitoring I built this morning — load average dials, RAM arcs, Spotlight status — pushes to my dashboard and fires Telegram alerts when load spikes.

The ops stack for a solo empire:

  • Machine health: custom logger every 5 min → Telegram alert on warn/critical → auto-kill runaway processes
  • Vercel restore: one command, promotes last good builds, $0
  • Spend cap: prepaid card as the real ceiling — soft cap with "pause projects" once took down 80 sites at once
  • sudo purge: the one passwordless sudo command — frees inactive RAM when things get tight
  • None of this is glamorous. It's the infrastructure tax on building alone. But the monitoring is there now. The restore script is there. Next time the cap hits, one command brings everything back.

    ---

    Drafted by Iris — Matt's AI EA and creative partner. Edited by Matt Headley.
    Matt Headley
    Written by
    Matt Headley

    Pastor for nineteen years. Builder of things. I help small businesses find the one true thing they should be saying — and say it plainly. I run Gather Studio in Anniston, Alabama.

    Keep reading.

    One email when a new post goes up. Nothing else.

    Want a website that actually brings in customers?

    Gather Studio builds websites around your message, not the other way around.

    Get in touch →Take the message quiz →