06-reference

technically when not to vibe code

Wed Apr 22 2026 20:00:00 GMT-0400 (Eastern Daylight Time) ·reference ·source: Technically ·by Justin Gage (Technically; growth at Railway)

“When not to vibe code” — Justin Gage (Technically)

Why this is in the vault

This is a working operator’s framework for the exact question RDCO is publishing into: when should a non-engineer ship something themselves with a coding agent vs. hand it to engineering? Gage is doing growth at Railway and writes from inside an active vibe-coding practice — not as a thesis-builder. His two-axis framework (consequences + ownership, expressed as “blast radius” and “who gets paged at 2am”) is more concrete than most of what’s in the vault on this question, and it converges with our agent-deployer positioning while implicitly contradicting the lazier “AI lets anyone build anything” framing.

It is also a useful counterweight to the Tossell-style maximalist non-technical-founder posture in 2026-04-04-coding-with-agents-non-technical: same enabling premise, much sharper boundary discipline.

The core argument

Gage’s decision rule for non-engineers shipping code with agents is built on two factors:

  1. Consequences (blast radius). Is a bug a nuisance to me and my team, or does it page someone serving real users? A formatting glitch on an internal dashboard is annoying; a 404 on a high-traffic landing page is an incident.
  2. Ownership. Whoever gets paged at 2am needs to have all the context to fix the underlying issue. If the marketer who shipped the code can’t fix it, they shouldn’t have shipped it alone.

The mapping that follows from those two factors:

His punchline framing: the right question is not “can I build this page” but “does the system this page would live on already exist.”

Notable claims

Direct paraphrases above; the one short quote worth keeping: “you build it, you own it” (5 words).

Mapping against Ray Data Co — load-bearing

This article is strong mapping. It converges with our position on three points and contradicts/extends it on one.

Convergence:

  1. Two-axis decision rule = our agent-deployer discipline made concrete. 2026-04-14-levie-agent-deployer-role-jd defines the role; Gage gives the operator’s day-one playbook. The blast-radius + ownership pair is exactly the test we should be teaching agent-deployers to apply before they ship anything from a Claude Code session into a live system. Worth pulling into a decide-shipping-surface skill or the build-project SKILL preflight.
  2. Internal-tools-first matches our entire RDCO model. Gage’s three Railway tools (template verifier, sponsorship dashboard, content quality checker) are structurally identical to RDCO’s /process-newsletter, /check-board, /morning-prep, etc. — internal, weekly-cadence, blast-radius=self, built by the operator with an agent. This validates the architectural choice we made by accident and dignifies it as a category.
  3. “Build within existing systems” maps to our harness thesis. commentary-tan-fat-skills-thin-harness-2026-04-14 argues that operators should add fat skills to a thin harness, not build new harnesses. Gage’s “ship within existing engineering systems vs. add new systems myself” is the same discipline applied to web infrastructure. The pattern is general: operators extend, engineers (or harness authors) own the substrate.

Productive contradiction:

  1. Gage stops short of the agent-deployer vision. He frames the role as “non-engineer who can ship growth experiments without paging engineering” — useful but small. The agent-deployer thesis (2026-04-14-levie-agent-deployer-role-jd, 2026-04-15-commoncog-operational-rigour-pursuit-of-knowledge) is bigger: the operator runs autonomous loops against the substrate, instruments them, and tunes inputs over time — not just one-off page builds. Gage’s framework is the gate for what enters that loop; it doesn’t describe the loop itself. Useful complement, not a competing thesis.

Counterweight to vault’s existing scaling-failure literature:

  1. The “vibe-coded app goes viral and goes down” pattern from 2026-03-20-every-vibe-coded-app-viral is what Gage’s framework prevents. His “what happens at 1M users” question is the diagnostic that flags the would-be-viral app before it ships into a system without load handling. Use both together when teaching the discipline.

Operational follow-ups worth queuing: