DEV Community

Henry Godnick
Henry Godnick

Posted on

8 tiny systems that stopped my AI coding bill + doomscrolling spiral (solo Mac dev)

I used to have the same nightly pattern:

  • Open Claude/Codex to "ship one feature"
  • Accidentally burn way more tokens than planned
  • Get annoyed, open social feeds for "2 minutes"
  • Lose another hour doomscrolling

As a solo Mac dev, that combo was killing momentum.

So I built tiny constraints that made both problems harder to trigger.

Here are 8 that actually stuck.

1) Put a hard session budget before writing any prompt

Before I start, I decide the cap for this coding block.
Not after. Before.

If I know I only want to spend a small amount, I naturally write tighter prompts and avoid "one giant context dump" behavior.

2) Track token cost live (not after-the-fact)

I built TokenBar (tokenbar.site) because I kept learning my spend only after the damage was done.

Seeing token/cost movement live inside the menu bar changed behavior instantly.
I stop overprompting much earlier.

3) Split big asks into three smaller runs

Instead of:
"Build auth, billing, onboarding, and analytics in one go"

I do:

  • schema + auth
  • billing flow
  • onboarding polish

This alone cut waste because each run has smaller context and fewer retries.

4) Keep a running "context hygiene" note

Any stale requirements, old snippets, or dead branches go in a scratchpad instead of staying in active context.

Cleaner context = fewer hallucinated detours = less paid churn.

5) Block feeds during deep-work blocks

I built Monk Mode (mac.monk-mode.lifestyle) for this exact failure mode: the reflex to open X/YouTube/Reddit whenever a task gets annoying.

Feed-level blocking matters because it removes the infinite scroll loop, not just the site shell.

6) Use boredom as a signal, not a break trigger

If I feel the urge to switch tabs, I ask:
"Am I blocked or uncomfortable?"

  • Blocked -> ask the model a narrower question
  • Uncomfortable -> stay for 5 more minutes

Most "breaks" were discomfort, not true blockers.

7) Add a post-session receipt

At the end of every session, I log:

  • what shipped
  • how much token spend moved
  • where focus broke

This made random expensive sessions way less frequent.

8) Run one no-feed sprint daily

I do one protected sprint (usually 60–90 min) with feeds blocked and spend visible.

Even if the rest of the day gets messy, this single sprint keeps progress compounding.


None of this is revolutionary.
It's just friction in the right places.

For me, the pair that changed everything was:

  • real-time cost visibility (TokenBar)
  • feed-level distraction blocking (Monk Mode)

When I stopped treating money leaks and attention leaks as separate problems, shipping got calmer and faster.

If you're building with AI every day, what's your biggest leak right now: token spend, context chaos, or distraction loops?

Top comments (0)