DEV Community

Sharjeel Zubair
Sharjeel Zubair

Posted on

Vibe Coding Is Burning You Out Here's What's Actually Happening to Your Brain

TL;DR: Vibe coding (riffing with an LLM at high speed) feels productive, but it runs your brain at a sprint pace for marathon hours. The dopamine-fast feedback loop drains glucose, spikes cortisol, and wrecks your sleep. Here's the physiology, plus concrete habits and a few scripts to slow the loop down.


The war story

Last month I shipped a side project in a weekend. Fourteen hours on Saturday, twelve on Sunday, mostly prompting Claude and accepting diffs. Monday morning I couldn't remember variable names in my day job codebase. My resting heart rate was up 8 bpm for a week. I wasn't "tired" — I was cooked.

I thought I was being lazy. I wasn't. I was experiencing the cost of sustained high-velocity cognitive flow with almost zero rest cycles.

Why vibe coding hits different

Traditional coding has natural pauses: you read docs, you think, you type, you debug. Those gaps are micro-recovery windows for your prefrontal cortex.

Vibe coding collapses all of that:

  • Prompt → diff → accept/reject → prompt again. Cycle time: 10–30 seconds.
  • Every accepted diff = small dopamine hit (variable reward schedule, like a slot machine).
  • Every rejected diff = micro-frustration + immediate retry.
  • No natural "I need to go read the docs" break.

Your brain runs on ATP, and the prefrontal cortex is expensive. Sustained decision-making depletes glucose and increases glutamate buildup in the anterior cingulate cortex — which is literally what "mental fatigue" is, per Wiehler et al., 2022 (Current Biology).

Translation: fast decisions × high volume = neurotoxic byproducts faster than your brain can clear them.

The symptoms, ranked

From my own logs and conversations with other devs doing a lot of AI-pair work:

  1. Eye strain + tension headaches (you stopped blinking, you stopped moving)
  2. Decision fatigue leaking into non-coding life ("what do you want for dinner?" → paralysis)
  3. Poor sleep despite exhaustion — elevated cortisol from extended focus
  4. Reduced code comprehension when reading non-AI-generated code
  5. "Shallow mastery" — you shipped it but couldn't re-derive it

What to actually do

1. Enforce a hard cycle timer

The pomodoro is fine but too long for vibe coding. I use 25-on / 5-off minimum, but for heavy LLM sessions I drop to 20/7. Here's a dead-simple terminal timer:

import time, subprocess

def notify(msg):
    # macOS; use notify-send on Linux
    subprocess.run(["osascript", "-e", f'display notification "{msg}"'])

while True:
    notify("Code block: 20 min")
    time.sleep(20 * 60)
    notify("BREAK. Stand up. Look at something 20ft away.")
    time.sleep(7 * 60)
Enter fullscreen mode Exit fullscreen mode

The break rule: leave the chair. If you stay seated you will "just finish this one thing" and the break is gone.

2. The 20-20-20-20 rule (I added one)

Standard: every 20 minutes, look at something 20 feet away for 20 seconds.

My addition: 20 slow breaths before starting a new prompt chain. This resets your sympathetic nervous system from "slot machine" mode.

3. Separate "generate" and "understand" sessions

The mistake I made: accepting code and immediately prompting for the next thing. Instead, batch it:

Session A (30 min): Vibe, generate, accept diffs fast.
Session B (30 min): Read every line. Rename things. Add comments.
                    No AI. No generation.
Enter fullscreen mode Exit fullscreen mode

Session B uses a different cognitive mode (analytic vs. generative) and actually feels restful compared to pure vibe mode. It also catches the bugs you'd ship otherwise.

4. Pre-commit friction

Add a pre-commit hook that makes you summarize what you did. This forces consolidation into long-term memory:

#!/bin/sh
# .git/hooks/prepare-commit-msg
echo "# What did this change actually do? (3 bullets)" >> "$1"
echo "# Why? (1 sentence)" >> "$1"
Enter fullscreen mode Exit fullscreen mode

If you can't fill it out, you didn't understand the code. Back to Session B.

5. Hydrate and fuel for the actual workload

Your brain burns ~20% of your resting calories. When it's sprinting, more. Dehydration of even 2% measurably reduces cognitive performance (Adan, 2012).

My desk rules during vibe sessions:

  • 500ml water within reach, refill every break
  • Protein + fat snack every 2 hours (nuts, cheese) — not sugar
  • Caffeine cutoff 8 hours before sleep (not 6, not 4 — 8)

6. Body > mind tricks

The cheapest stress dump I've found: box breathing between prompts.

4s inhale → 4s hold → 4s exhale → 4s hold
Repeat 4 times.
Enter fullscreen mode Exit fullscreen mode

Sounds stupid. Works. Navy SEALs use it, and it directly lowers cortisol via vagal activation. Do it while the LLM is streaming its response — free time.

7. Log your sessions

This one surprised me. I started logging vibe sessions:

date: 2024-11-08
duration: 3h20m
prompts: ~85
subjective_fatigue (1-10): 8
quality_of_output (1-10): 5
sleep_that_night: 6h, fragmented
Enter fullscreen mode Exit fullscreen mode

After two weeks the pattern was obvious: anything over 2.5 hours of continuous vibe coding gave me negative ROI. Quality dropped, fatigue spiked, sleep tanked. I now cap it.

The takeaway

Vibe coding isn't free velocity. You're borrowing focus from tomorrow to ship today. That's fine occasionally — it's a disaster as a default.

Treat high-speed AI coding sessions like sprinting, not jogging: short, intense, with real recovery between. Your 40-year-old self will thank you, and honestly, your code next Tuesday will too.

Top comments (0)