FULL STORY

DHH's AI Agent Rewrite of Campfire Sparks Debate

DHH had AI agents rewrite Campfire from Rails, with benchmarks drawing community skepticism. A follow-up Elixir optimization attempt fared worse, sparking debate over engineer accountability, which DHH addressed.

2026-10-05 ~ 2026-10-07 · 2 episodes · 9 posts

Episode 1 · DHH's AI-agent rewrite of Campfire across languages sparks benchmark controversy (2026-10-05, 7 posts)

DHH, creator of Rails, used his own accumulated token budget to have AI agents port ONCE Campfire from Rails to other stacks—Elixir, Go, Rust, and most recently JavaScript/Express. He published requests-per-second figures for the same room page: Ruby 244, Elixir 722, Go 3860, Rust 36260—nearly 150x from Ruby to Rust. DHH admitted Ruby was slowest but said he values productivity and the joy of programming more, and questioned the point of "no longer reading code." The cross-language performance conclusions were subsequently challenged by multiple developers, focusing on unequal tuning effort and implementation flaws.

Confirmed

  • Performance numbers published by DHH: Ruby 244, Elixir 722, Go 3860, Rust 36260 requests per second, a near 150x spread
  • DHH admitted the Ruby version was slowest, stating productivity and developer enjoyment take priority
  • The experiment used multiple rounds of agent conversion; the stacks also include a JavaScript/Express version
  • Responding to criticism of the Elixir version's performance, DHH said he did not hand-tune anything but let two frontier AI agents work Elixir to their fullest, and welcomed speed-up PRs

Unconfirmed

  • josevalim cited DHH's experiment: the initial vibe-coded Rust version's req/s was in the same order of magnitude as initial Elixir/Go versions, even slower in some scenarios; the Rust version in DHH's repo only caught up after roughly 300 (by another account 398) optimization commits. @kristoph relayed @jskalc's critique that the benchmark is not a fair comparison—the Rust version received extensive tuning commits while the Elixir version was largely ignored; mattnjp also broke down the comparison traps, arguing Rust's speed came from manual tuning
  • @kristoph noted the Go implementation has obvious performance flaws, and the conclusions might change once fixed
  • DHH countered: if frontier agents cannot find Elixir's "speed switches," perhaps the ecosystem should reflect—a remark that itself sparked debate
  • @rchaves offered a different perspective: ordinary applications should care about compile times and legacy bugs rather than raw performance numbers

Why it matters

This is a rare large-scale cross-language porting experiment conducted personally by a well-known framework author amid the agent-coding boom, and its performance conclusions spread widely. The pushback over unequal tuning effort and implementation flaws shows that cross-language performance comparisons based on agent-generated code demand careful attention to benchmark fairness and methodology. DHH's "if agents can't find the speed switch, the ecosystem should self-reflect" retort extends the debate from a single benchmark to how language ecosystems fit the AI era.

Episode 2 · DHH Defends Elixir Results After Frontier Agents Fail to Speed It Up (2026-10-07, 2 posts)

dhh said he simply let two frontier AI agents maximize Elixir's performance and got the current results, inviting PRs to speed it up while questioning why the agents couldn't find Elixir's speedup switches, sparking debate over engineer accountability.