I had an RTX 5060 sitting in my shopping cart. The plan was simple: run Qwen locally, cut API spend, and finally make AI-assisted development feel “free.” Then I moved my main workflow to Claude Code and spent seven days on the same Next.js SaaS codebase I actually ship from. The conclusion had almost nothing to do with GPU benchmarks: inference lives in the cloud; my machine spent most of its time on Git, tests, and Node. I removed the discrete GPU from the cart and ordered an M4 Mac mini (24GB) instead.
This is not a spec sheet. It is a problem-solving write-up with first-hand evidence — Activity Monitor, the Claude Code terminal, and git diff --stat screenshots below. I also explain why I did not buy the Mac mini on day one: I deployed the same repo to a ZavCloud Cloud Mac, used it for three consecutive days, and only paid for hardware after daily Claude Code, Xcode, and a self-hosted Runner all felt normal.
One-week test: Stripe subscriptions on a Next.js SaaS repo
Test machine: M4 Mac mini / 24GB / 512GB (external SSD for node_modules and Ollama weights). The repo is my production Next.js SaaS stack (App Router + tRPC + Prisma). Scale for this run:
- Files — 317 (under
src,packages, tests, and config; excludingnode_modules) - Lines of code — ~90k (
cloc, mostly TypeScript/TSX) - Delegation — “Add Stripe subscriptions: Checkout, Webhook, customer portal, unit tests, and e2e smoke”
| Metric | Result (Mac mini + Claude Code) | Notes |
|---|---|---|
| End-to-end time | 18 minutes (includes two agent test rounds) | From prompt to green pnpm test |
| Change surface | 47 files (+2,180 / −340 lines per git diff) | API routes, Prisma schema, pricing UI |
| Test pass rate | 95% (38/40 green on first pass; 2 e2e fixed in round two) | Remaining 5% were edge cases I tightened by hand |
| CPU peak | 58% (10-core M4, Activity Monitor) | Peak during pnpm test, not model inference |
| Memory pressure | ~19.4GB used, 0 swap | 12 Chrome tabs + VS Code + Docker (Postgres only) |
| GPU utilization | Mostly <5% | Matches “cloud inference” expectations |
What surprised me was not the eighteen minutes — it was how boring the machine felt during the run. Fans stayed quiet. The GPU graph was flat. The agent was clearly waiting on network and on my test harness, not on tensor cores. That single observation reframed every “should I buy a 5060?” thread I had been reading.
Screenshot evidence (2026.06.01 · Stripe task)
Three screenshots from the same task window — CPU, tests passing, and the 47-file diff. They are closer to what search quality guidelines call first-hand evidence than another paragraph of adjectives.

pnpm test. 19.4GB used, 0 swap, CPU peak 58% (GPU not involved in Claude inference).

git diff --stat: 47 files changed, +2,180 / −340 lines; commit message feat(billing): stripe subscription checkout + webhook.On day three I ran a control task: scaffold a Lemon Squeezy adapter layer instead of Stripe (billing module only). Claude Code finished in 11 minutes across 22 files — so wall-clock time tracks repo familiarity and how complete your CLAUDE.md is, not raw GHz. The lesson for me: invest in commands the agent can rerun reliably, not in another GPU tier.
How to reproduce
Keep a root CLAUDE.md with pnpm i, pnpm test, and Stripe test key env notes. In the delegation, name directories (“billing only”) and the stop condition (“all tests green”). Absolute numbers may swing ±10% on your machine; the shape — GPU idle, CPU busy during tests — should hold.
Same week on my RTX machine
Control box: Windows desktop, RTX 4060 16GB, 32GB RAM (what I used as primary until last week). I ran two parallel tracks — one about local models, one about Claude Code — and only the first track argued for keeping the GPU.
| Scenario | RTX 4060 desktop | M4 Mac mini (Claude Code) |
|---|---|---|
| Local Ollama qwen3:14b | ~42 tok/s, ~11GB VRAM, audible fans | ~37 tok/s on 24GB, quiet; competes with Claude Code for RAM if parallel |
| Same Stripe task (Claude Code) | 19 minutes end-to-end, GPU still idle | 18 minutes; delta mostly disk and terminal ergonomics |
| Xcode / iOS smoke | Not available | xcodebuild simulator tests on the same box |
| 24/7 idle power feel | Fans audible at idle | Quiet — fine for a always-on Runner host |
The line that stuck: Claude Code does not get faster because you added an RTX. Bottlenecks sit on Anthropic’s side and on your repo toolchain. A discrete GPU only pays back if you spend hours daily on local 14B+ weights. My log showed ~92% of coding time on Claude Code or Cursor cloud models; the RTX sat at 0–8% utilization most of the week.
Why I dropped the RTX 5060 for an M4 Mac mini
I framed the decision as three falsifiable claims instead of brand loyalty:
- Does my workflow consume GPU? — One week of logs: no. See the table above.
- Do I need the macOS toolchain? — Yes. Besides SaaS I maintain an iOS shell app and TestFlight builds; Windows cannot close that loop.
- Which stack is cheaper over time? — See TCO below; if you are not funding local 70B, Mac mini + API won on upfront cost and power for me.
If you are web-only and spend most hours on local 14B drafts, an RTX still makes sense — that is a different persona than “Claude Code first.” I did not abandon NVIDIA because it is bad; I abandoned it because the reason in my cart did not survive contact with my actual week.
Why I did not buy the Mac mini immediately
After the week on borrowed/local hardware I still did not click Buy. Not because I doubted Apple silicon — because I had already bought hardware that became shelf furniture. The RTX 4060 box taught me that “AI workstation” in the headline is not the same as “tool I open every morning.”
Before paying for metal I put the same Next.js SaaS repo on ZavCloud Cloud Mac (dedicated macOS, SSH in) and treated it as my only machine for three straight days:
- Daily use — Opened Claude Code on real issues all three days, not a weekend toy session;
- Xcode — Shell app simulator smoke, provisioning profiles pulled cleanly;
- Runner — Self-hosted GitHub Actions ran
pnpm testand lint green; - Stripe task replay — Same delegation as above; 20 minutes on cloud (~2 minutes extra mostly dependency fetch) vs 18 minutes locally.
On the third evening I ordered the M4 Mac mini (24GB). In hindsight Cloud Mac was the cheap experiment: it proved the workflow before the appliance. If any pillar had failed I would have stayed on rent or kept Windows + cloud Mac hybrid instead of adding another desk ornament.
If you are googling “what PC for Claude Code” or “RTX 5060 vs Mac mini,” copy the validation order, not my SKU list: same repo, same CLAUDE.md, same test command. Daily cloud billing beats blind-buying a GPU or a Mac you touch twice a month.
The environment I used is ZavCloud’s dedicated Mac in their datacenter (static IPv4, friendly to Claude Code + Runner). To mirror my path, start from the plans and pricing page — that link is the step I took before hardware, not an abstract recommendation.
Bill: hardware + Claude + power (sketch)
Numbers are 2026-order-of-magnitude USD; your region and tariffs will shift them, but the shape matters more than the last dollar.
| Line item | M4 Mac mini + Claude Code | RTX desktop (AI build) |
|---|---|---|
| One-time hardware | Base Mac mini + 24GB upgrade (often still under a “GPU + PSU + case” bill) | 4060/5060-class tower frequently costs more all-in |
| Monthly software | Claude Pro/Max or API; my Stripe-scale week landed around $8–12 API-equivalent | Same API possible; local models trade API for GPU depreciation |
| Power (often on) | Low — see Mac mini vs cloud GPU economics | Discrete GPU idle draw still higher |
For subscription vs usage pricing against Cursor’s fixed monthly fee, see the FAQ on monthly cost below.
16GB vs 24GB: what memory signaled in the test
On the 24GB machine the Stripe run showed 0 swap. I reran the same delegation on a borrowed 16GB M4: 1.2GB swap, 21 minutes end-to-end — slower from disk pressure, not from Claude getting dumber. That matches our longer Ollama comparison: if Claude Code is your daily driver, buy 24GB. Full charts and a week of Ollama overlap live in 16GB vs 24GB on M4 Mac mini.
Claude Code workflow on the Mac mini (minimum set I kept)
CLAUDE.md— build, test, Stripe env vars, and “do not touchinfra/prod”;- Delegation template — every task ends with “done = all tests green”;
- Large-repo misses — CodeGraph MCP when the agent skips files;
- Night Runner — same mini runs GitHub Actions; same philosophy as cloud automation for longer jobs.
# at repo root: claude Add Stripe subscriptions to this Next.js SaaS: Checkout + Webhook + customer portal. Only touch packages/billing and app/pricing; run pnpm test until everything passes. Do not modify production Terraform.
I keep the Mac mini on Ethernet, sleep disabled for Runner nights, and Ollama models on external SSD so a billing sprint does not evict weights I use for offline drafts. None of that is glamorous; it is what stopped the 24GB machine from swapping when Chrome, Docker, and the agent all wanted RAM at once.
Mixing Cursor and Ollama (rough week split)
| Tool | What I use it for | ~Share of the week |
|---|---|---|
| Claude Code | Stripe-scale features, cross-package refactors | ~55% |
| Cursor | UI polish, Tab completion | ~35% |
| Ollama qwen3:8b | Offline copy, regex experiments | ~10% |
Background on the agent ecosystem: Anthropic and the Claude Code era. Team buy vs rent: Mac mini vs Cloud Mac for iOS teams.
Claude Code FAQ
Can Claude Code run on a 16GB Mac mini?
Yes — CLI, browser, and VS Code are fine. On borrowed 16GB hardware the same Stripe task swapped and took +3 minutes. Stack Docker, Ollama, and Xcode together and 24GB is the sane default.
Does Claude Code need a GPU?
No. A week of logs showed GPU mostly under 5%. Buying RTX for Claude Code does not speed the agent; buy GPU only if local large models are your main workload.
Claude Code or Cursor — which is better?
Daily feature work with Tab completion: Cursor. Cross-directory delegation, test loops, Actions: Claude Code. I keep both; see the full comparison.
Can Claude Code run locally?
Not the Claude model — you need network access to the API. Locally you run repo tools and optional Ollama; “local Claude Code” in 2026 still means online inference.
Does Claude Code support Xcode?
On macOS it can drive xcodebuild and simulators via shell. That requires a Mac or cloud Mac — the gap I could not close on the RTX desktop.
How much does Claude Code cost per month?
API vs Max subscription depends on volume. My pattern — one or two big delegations per week plus daily Cursor — averaged about $8–12 API-equivalent that week; all-day agent mode can hit three figures. Run your real repo for a week before choosing a tier.
Do you need a Mac for Claude Code?
No — CLI on Windows/Linux works. For iOS delivery or one Apple toolchain, Mac mini or cloud Mac is simpler. I am in that second camp.
What if I do not want to buy a Mac mini yet?
Rent cloud Mac, run the same repo with Claude Code + Xcode + Runner for three consecutive days (or two weeks if you are cautious), confirm daily use, then buy hardware. If you are debating RTX 5060, do this before stacking VRAM.
- Related reads — Claude Code vs Cursor · M4 RAM field test · CodeGraph for large repos
ZavCloud · Cloud Mac
Copy my path: three days on Cloud Mac, then decide on hardware
Validate the same repo with Claude Code, Xcode, and a Runner before you buy — that is how I removed the RTX 5060 from my cart and ordered an M4 Mac mini instead.
Start a Cloud Mac trial