I'm going back to writing code by hand

· ai coding · Source ↗

TLDR

  • Developer vibe-coded a GPU-aware Kubernetes TUI (k10s) with Claude for 7 months, hit architectural collapse, archived 234 commits, and is rewriting from scratch.

Key Takeaways

  • AI delivers features in isolation; it cannot see cross-cutting architectural decay accumulating across 49 features sharing one god-object Model struct.
  • model.go grew to 1690 lines with a 500-line Update() function, 110 switch/case branches, 20+ string-comparison view discriminators, and 9 scattered manual nil assignments to prevent ghost data.
  • Velocity illusion caused scope creep: cheap-feeling features turned a niche GPU-fleet tool into a general-purpose k9s clone, each addition deepening the god object.
  • Mitigation: write concrete interfaces, message types, and ownership rules in CLAUDE.md before any code; AI follows constraints given to it but will not invent them.
  • Per-view key dispatch collapsed into one flat switch where the s key means autoscroll in logs, shell in pods, and shell-into-container in containers – all in one handler.

Hacker News Comment Review

  • Commenters split sharply: some report shipping real products (iOS apps, games) with AI assistance and refuse to revert; others argue the codebase quality problem is fundamental and CLAUDE.md-style guardrails only delay the same decay.
  • A recurring technical consensus: AI-generated code is only safe when the developer can recreate it unaided – “gun to my head” test – and stops to fully understand anything that fails that bar before moving on.
  • Skeptics of the author’s proposed mitigations note that invariants expressed in natural language eventually drift as the model interprets new prompts; keeping AI inside strict module boundaries with pure, IO-free, interface-hidden code is the more durable structural fix.

Notable Comments

  • @pron: argues CLAUDE.md guardrails also fail long-term because agents reinterpret invariants per-prompt; the decay is structural, not instructional.
  • @20k: counter-datapoint – 7-month hand-coded 3D MMO, playable with hundreds of concurrent users, clean architecture; questions the velocity comparison baseline.

Original | Discuss on HN