Skip to content

DHH Says 37signals Is ‘Pencils Down’ on Hand-Written Code and Rebuilding HEY in Rust at Rails World 2026

In his Rails World 2026 keynote, DHH said 37signals has gone "pencils down" on hand-written code and that the next HEY will ship as six native apps with a Rust backend. Here is what he claimed, and what we could verify.

DHH on stage at Rails World 2026 with the slide text Look at all the things I'm not doing

David Heinemeier Hansson opened Rails World 2026 in Austin on September 23 by telling a room full of Ruby on Rails developers that his own company has stopped writing code by hand. “We are going, and have gone, pencils down,” he said, and he called hand-written code at 37signals “an exceptional state.”

The 63-minute keynote, titled Rails World 2026 Opening Keynote – DHH, was published on the official Ruby on Rails YouTube channel on September 24 IST. This article is based on that video’s transcript, with its news claims checked against primary sources. DHH, the creator of Rails and CTO of 37signals, also said the next version of HEY will drop the web app for six native apps and a Rust backend.

Much of what follows is DHH’s opinion or his own unreleased numbers, labeled as such.

Rails World 2026 Opening Keynote by DHH. Video: Ruby on Rails (YouTube).

The Kodak Brownie Argument

DHH spent the first ten minutes on portrait painting, including work by his great-great-grandfather, the Danish painter Laurits Tuxen. His point was that cheap cameras like the Kodak Brownie, launched in 1900 for about a dollar, pushed painters away from copying reality and toward new styles.

He then named the software equivalent. “On November 24th, 2025, we got the Kodak Brownie of our era. We got Opus 4.5,” he said, predicting history books will treat that date as the start of “the age of agents.” The date checks out: Anthropic released Claude Opus 4.5 on November 24, 2025, at $5 per million input tokens and $25 per million output tokens.

He described a “trough of disillusionment” from February to May, which he said ended in June. That matches Anthropic’s June 9 launch of Claude Fable 5 and Mythos 5. He also credited OpenAI’s GPT-6 Astra, released September 3, and DeepSeek V4.1 Flash, which DeepSeek’s change log dates to September 10. We covered that model race in our Claude Opus 5.5 breakdown.

From 10x Programmer to “1,000 Times”

The “10x programmer” idea traces back to a 1968 study by Sackman, Erikson and Grant in Communications of the ACM, which DHH cited. His view is that a 100x gap between the worst developer without AI tools and the best developer with them is no longer controversial, and he went further, putting it at 1,000x.

He backed that with his own output, which nobody outside 37signals can audit. He said he averaged about 30,000 lines of production Ruby a year for 21 years, then produced 150,000 lines in August alone. He admitted much of it is verbose Rust he never reads; Ruby fell from over half his work to about 3% this year.

Why 37signals Went “Pencils Down”

DHH said the decision came “a couple of weeks ago.” When an agent fails, a developer may “get the old pencil out” briefly, but the real job is to “fix the machine.” Business Insider reported the same quotes, plus his line that how to get the most from AI is the only “serious question” left.

When he polled the audience on who still writes “material amounts of code by hand” weekly, he counted about five hands. heise online put the crowd at roughly a thousand developers.

He was also candid about a failure. In the spring, designers vibe-coded the final Basecamp 5 features, and he said 20 or 30 of those pull requests left the architecture looking “like a Swiss cheese.” Basecamp 5 shipped with a large share of hand-written code, and he now calls stepping back from agents “the wrong conclusion.”

HEY Goes Native, and the Backend Goes Rust

The biggest news: the next HEY will not be a web app. DHH showed early builds of six native applications, kicked off about a week before the talk, and said the cost of building native apps “has gone to damn near zero.”

For the backend, DHH called Rust “the ugliest programming language” of “probably the last 40 years,” then said he loves it as long as agents write it. He claimed the Rust mail server needs 99% less CPU and 95% less memory, and that 10 hosts are kept only for redundancy. He called his estimate that HEY’s peak traffic could run on one Raspberry Pi “back-of-the-envelope.”

He pointed to Shopify as proof he is not alone. Shopify Engineering says a core group of six engineers rebuilt its Shop app from React Native in Swift and Kotlin in 12 weeks, with 23% faster startup on iOS and 50% faster on Android.

Where That Leaves Ruby on Rails

DHH did not say Rails is dead. He argued the web still wins for apps people won’t install, and that Rails’ convention over configuration “leads directly to things like token efficiency.” He also argued that abstractions matter less when repeating code costs almost nothing, and admitted no one has a blueprint yet.

He cited the Rails Foundation’s agent benchmark, run by Evil Martians. The Agents on Rails Stage 2 results show models saturated the first task set, with two at 92%, so a harder one was built. On the 20 feature tickets for 37signals’ Fizzy app, the top default-effort score was GPT-6 Astra at 35%, for $150.47 across 60 runs.

“Bring Your Own Butler”: The CLI Demand

The most practical request came near the end. DHH said he does not want chatbots stuffed into every product. “Let me bring my own butler,” he said, meaning his own agent, and told every app maker to ship a command-line interface “by next Friday.”

He said agents using the HEY CLI found a five-year-old email by concept when he could not remember the sender, company or year. It fits the shift behind Supabase’s Turso deal, which bets on agents creating huge numbers of small databases.

Omarchy, Hype and Half-Megabyte Apps

DHH also promoted Omarchy, his Arch-based Linux setup. He said install time fell from 3 minutes 33 seconds last year to 35 seconds on an AMD engineer’s laptop, and 9 seconds in the lab. He also showed Hype, a Markdown presentation app he built without reading the code and said is half a megabyte.

He said Omarchy has raised “about $20 million.” The Omacom Foundation’s September 22 post puts total backing at about $21.7 million. The Register notes that figure includes multiyear pledges and AI token commitments.

Security and the Optimism Pitch

DHH accepted security as a real worry and referenced “a bad CVE in Rails” tied to an image library written in C. That matches CVE-2026-66066, a July 29 Active Storage flaw where libvips image processing could expose server files and secrets. Rails apps that accept image uploads should be on 7.2.3.2, 8.0.5.1 or 8.1.3.1 or later. Mike Dalessio’s Hot Cell talk covered isolating that processing in a sidecar container.

His case against AI doom used ATMs. He said US bank teller jobs grew rather than vanished, though he placed ATMs in the 1950s. Economist James Bessen’s research says ATMs arrived in the 1970s and teller jobs did not fall as they spread, because cheaper branches meant more branches.

He closed by urging “P(bloom)” over “P(doom)” and calling pessimism the “black pill” for losers. heise wrote that many attendees perceived the talk as “an implosion.”

What DHH Claimed vs What We Could Check

Claim in the keynoteStatus
Opus 4.5 arrived November 24, 2025Confirmed by Anthropic
37signals is “pencils down” on hand-written codeDHH’s statement, reported by Business Insider
HEY Rust backend uses 99% less CPU, 95% less memorySelf-reported, unreleased, back-of-the-envelope
150,000 lines of code in AugustSelf-reported, not verifiable
Shopify rebuilt Shop app natively with a small teamConfirmed by Shopify Engineering
Omarchy raised about $20 millionRoughly right: about $21.7M in pledges and donations
Rails CVE tied to a C image libraryConfirmed: CVE-2026-66066 (libvips)
1,000x programmer gapOpinion

What It Means for Developers

For readers in the US, Canada, Australia and India, the actions are concrete. Patch any Rails app that takes image uploads, consider a CLI that agents can drive, and treat the HEY numbers as claims until 37signals ships.

The bigger question is whether other teams follow 37signals in making agents the default. Agent output still needs guardrails, as Glow’s report on 13,000 screenshots coding agents leaked to GitHub showed.

Frequently Asked Questions

Did DHH say Ruby on Rails is dead?

No. He said Rails remains well suited to web apps that users will not install, and argued its conventions make it efficient for agents. He did say the next HEY will use native apps and a Rust backend instead of Rails.

What does “pencils down” mean at 37signals?

According to DHH, agents now write the code by default, and hand-writing code is treated like a bug report. When it happens, the team fixes the agent workflow so it does not happen again.

Are HEY’s Rust performance numbers verified?

No. The 99% CPU and 95% memory savings and the Raspberry Pi estimate are DHH’s own figures for software that has not shipped. He called the Raspberry Pi estimate a back-of-the-envelope calculation.

When and where was the keynote?

DHH gave it on September 23, 2026, at Rails World in Austin, Texas. The Ruby on Rails channel posted it on YouTube on September 24 IST.

Which Rails versions fix CVE-2026-66066?

RubySec lists Active Storage 7.2.3.2, 8.0.5.1 and 8.1.3.1 and later as patched. Apps on libvips 8.13 or newer can also set the VIPS_BLOCK_UNTRUSTED environment variable as a workaround.

Featured image: official YouTube thumbnail for “Rails World 2026 Opening Keynote – DHH.” Credit: Ruby on Rails / Rails World.

Share this article

Leave a Reply

Your email address will not be published. Required fields are marked *

Loading the next article…

Continue reading