OVTH / 2026 LIVE · V0.4.0
Ø Overthinking Gateway ↗

What vibe coding actually means in 2026

Vibe coding is not vibes. It's a measurable shift in what a software engineer actually does all day.

May 09, 2026 by xlrd · Fig. V01 · essay · vibe-coding · workflow

Vibe coding, the term, arrived as a joke and stayed as a job description. Somewhere between the 2024 “copilot tab” era and whatever we’re doing now, the daily craft of writing software got quietly rewritten. I want to be precise about what actually changed, because most takes on this are either breathless or dismissive, and the truth is neither.

Here’s the shortest version I can give. In 2022 I typed code. In 2024 I typed code and occasionally tab-completed a line. In 2026 I describe intent and watch diffs land. The keyboard still gets a workout, but 60% of it is now in prose, JSON, and file paths instead of semicolons.

That sounds like a productivity win and sometimes it is. But the reason “vibe” stuck as a name is that the felt experience is less like writing and more like conducting. You’re less in control of each note, more in control of the shape. The question stopped being “did I write this correctly” and became “does this do what I meant, and do I actually understand what it’s doing.” Those are not the same skill.

The real metric is shipped-PRs-per-week

Lines of code per day was always a stupid metric. It’s unbelievably stupid now. I can generate 2,000 lines of untested slop before my coffee. The meaningful unit became merged PRs, specifically the ones that passed review without the reviewer silently hating me.

The last quarter I watched my own cadence shift from ~4 PRs/week to ~11 PRs/week. Individual PRs got smaller. Reviews stayed roughly as slow. The thing that actually scaled was how many parallel threads of thought I could hold in a day. Two Aider sessions running, one Claude Code doing an overnight refactor, one Cursor window I’m live-coding in — four threads, one of me.

I’m not bragging. I’m saying the work got more managerial. If you were good at being a lead engineer, you’re now good at being a vibe coder. Your skill transferred. If you loved typing algorithms by hand, you’re probably grieving a little, and that’s fair.

Which-model-for-what fatigue

The hidden tax of 2026 is decision fatigue. Every task starts with a micro-decision: opus or sonnet, gpt-5.4 or o4, local qwen or cloud deepseek, should I just use the aggregator default. Each model has a personality. Opus overthinks, Sonnet is snappy, GPT-5.4 writes more boilerplate, Gemini is weirdly good at SQL, local models save you 40 cents and cost you 90 seconds.

I used to ritualize this. Post-it notes on the monitor. A Notion doc with “use X for Y.” All of it became noise the moment a new model dropped.

The unlock was giving up. I stopped choosing. I pointed everything at an aggregator, picked a default, and let routing rules pick the backend. The mental overhead evaporated. The work got faster not because the models got smarter, but because I stopped deliberating about the models.

If there’s a single piece of advice in this essay, it’s that one: your taste is valuable, your routing decisions are not.

Why aggregators win

The 2024 pattern was: one vendor, one SDK, pay the toll. The 2025 pattern was: three vendors, three SDKs, three bills, three outage pages. The 2026 pattern, the one that’s actually sustainable, is a gateway.

The gateway pattern (OpenRouter, OVTH Gateway, LiteLLM, whatever your flavor) does four things that matter:

  • one key, one bill
  • automatic failover when a provider has a bad Tuesday
  • model-agnostic SDKs — your code doesn’t know or care which backend answered
  • a central place to put rate limits, cost alerts, and audit logs

I’ve watched entire teams avoid switching models because they didn’t want to touch the code. With a gateway, the code never changes. You edit a JSON config and your whole stack starts talking to a new model in the next request.

That’s not just convenience. That’s optionality, which is the real currency in a market where the SOTA model ships every six weeks.

The thing that didn’t change

Here’s what I want to be honest about. Despite all of this, the hard parts of software are exactly as hard as they were.

Writing a good test is still hard. Naming things is still hard. Deciding what not to build is still hard. Explaining your system to someone new is hard. Debugging a race condition at 11pm before a launch is hard. LLMs make all of these slightly easier at the edges and not meaningfully easier at the core.

I’ve had Claude generate 400 lines of elegant code for the wrong problem. I’ve had GPT fix a test by deleting the assertion. I’ve had Gemini invent a library function that doesn’t exist. The model is a leverage multiplier. If you’re leveraging bad judgment, you’re now bad faster.

So what is vibe coding, actually

It’s a redistribution. Typing went down, reviewing went up. Memorization went down, routing decisions went up. Solo flow went down, orchestration went up.

The engineer who will thrive in this environment is the one who already had the habits of a senior: clear specs, small PRs, tight tests, good naming. AI amplifies the habits you have. If you had them, you’re flying. If you didn’t, the models are politely hiding that from you until a customer finds out.