David Heinemeier Hansson

Made Basecamp and HEY for the underdogs as co-owner and CTO of 37signals. Created Ruby on Rails. Wrote REWORK, It Doesn't Have to Be Crazy at Work, and REMOTE. Won at Le Mans as a racing driver. Fought the big tech monopolies as an antitrust advocate. Invested in Danish startups.
January 6, 2024

Happiness is never having to ask for permission

If there’s one value Jason and I put above all else in business, it's independence. The freedom to make our own choices, good or bad, without ever having to ask anyone for permission. Not from investors, not from naysayers, not from platform gatekeepers. It’s why we’ve builtourbusiness on the web. The greatest, freest computing platfor...
Read more
January 5, 2024

Apple rejects the HEY Calendar from their App Store

There should at least be a standard of double jeopardy when it comes to the app store monopoly regimes. If you’ve managed to overturn a rejection of your service once, they can’t come after you on the same service again later. We could have used that today! But unfortunately there is no rule of law with the app stores, except that of t...
Read more
January 4, 2024

The reality of the Danish fairytale

Denmark has long ranked high on the list of societies that American liberals dream about turning the United States into. And for many good reasons. Education is state-funded, and students are even paid a stipend to go to university. Health care is equally free of individual charge, and there’s generally a robust social safety net for u...
Read more
January 4, 2024

A writer's Ruby

Programmers at large seem eternally skeptical of style. And I’m not just talking about the stereotype of nerds in uncoordinated outfits or using pocket protectors. But style in the broad sense of aesthetics. Many appear imbued with fundamental opposition to the idea that how something looks should even matter. That somehow such a focus...
Read more
January 2, 2024

New year, new calendar

We’ve spent the last year tackling the number one request for our email service HEY.com: Adding a calendar! And now, in celebration of the new year, it’s finally ready, and we’re rolling it out to the first customers starting today 🎉 See, it turns out that lots of people would love to switch their email to HEY, whether it’s because the...
Read more
December 30, 2023

We’re so back

Under the old Twitter regime, politics seemed to seep into everything, especially tech talk. There was scarcely a programming or product topic that couldn’t be turned into a struggle session on account of some perceived transgression or privilege. It was, to use the trauma language of those days, exhausting. It also simply seemed like ...
Read more
December 24, 2023

Picking a purpose

Victor Frankl wrote Man’s Search for Meaning after surviving a concentration camp during World War II. He observed the outer extreme of what happens to people who no longer have a WHY to live for. They’d wither and die in the camp. Even the most dire rations and punishing labor could be survived by many, as long as they had a purpose s...
Read more
December 24, 2023

Finished software

One of the driving aspirations behind once.com is the notion that not all software needs to evolve forever. We’ve become so used to digital services being malleable that we’ve confused the possibility of software updates with their necessity. Some software can simply be finished, and a lot would be better if it were. That’s basically t...
Read more
December 22, 2023

Commit to competence in this coming year

It’s that time of year where people often start thinking about new year’s resolutions. I want to lose 10 lbs, I want to read more books, I want to x, y, and z. Often, it’s just a fantasy. They’re not actually going to lose 10 lbs or they might order some more books but never read them. But at least there’s a spark of hope there. A fund...
Read more
December 21, 2023

Challenging the guardians of the paradigm

I swear the intention isn’t to constantly start fights with guardians of every sacred paradigm in the tech world. To be honest, it’s been a bit exhausting at times to concurrently argue on at least three major flanks. But that’s just how this year has turned out, given the work we’ve been pursuing. Whether it’s telling people that you ...
Read more
December 20, 2023

ONCE #1 is entirely #nobuild for the front-end

The dream has come true. It’s now possible to build fast, modern web applications without transpiling or bundling either JavaScript or CSS. I’ve been working towards this personal nirvana ever since we begrudgingly started transpiling and bundling assets in the late 2000s. Browsers just weren’t good enough back then to avoid it. But th...
Read more
December 20, 2023

Five big open source gifts from us

It’s been an incredibly productive year at 37signals. Perhaps our most productive one yet, in terms of total number of product improvements, new product developments, and open source extractions. But it’s only by looking back at the work from a distance that you can really appreciate it. So allow me to do that here. To appreciate the b...
Read more
December 19, 2023

The Big Cloud Exit FAQ

Just over a year ago, we announced our intention to leave the cloud. We then shared our complete $3.2 million cloud budget for 2022, and the fact that we were going to build our own tooling rather than pay for overpriced enterprise service contracts. The mission was set! A month later, we placed an order for $600,000 worth of Dell serv...
Read more
December 18, 2023

Patek levels of finishing

We’re in the final phase of getting the first ONCE product out the door. As with any new development, there are a million little details we need to nail for a successful launch that’s up to our standards. That’s usually where the temptation to cut corners on internal quality beckons, but we’ve handcuffed ourselves to the virtue of beau...
Read more
December 17, 2023

Native mobile apps are optional for B2B startups in 2024

I continue to see new B2B software startups struggle with native mobile apps. Consumer software makers can usually start by going all-in on a single platform, but for business tools, that’s rarely an option. So they must face the tall task of tackling web, iOS, and Android at the same time. Hence the proliferation of toolkits like Reac...
Read more
December 14, 2023

The early bird sees the sunrise

I’ve found that you eventually get bored or at least used to every form of material trapping you can buy. Cars, watches, cameras, computers, whatever. It’s not that fancy stuff stops being nice, but it does stop being wow. That’s the essence of the hedonic treadmill. But do you know what never gets old? Nature. And I mean nature in the...
Read more
December 10, 2023

What is HiFi

I grew up in a home where music was always playing. My father repaired electronics, so an endless stream of speakers, amplifiers, turntables, and TVs passed through the household. And all of it had to be tested, of course. At max volume. Sometimes at odd hours. While that was frequently a bit of a nuisance, it did seed a deep appreciat...
Read more
November 10, 2023

The origin of Ruby on Rails

I can't thank Honeypot and Carolina Cabral enough for the producing The Rails Documentary that was just released today. Looking back on those early, formative years of Ruby on Rails with Tobi, Jamis, Jeremy, and Jason was actually kind of profound. I usually don't spend much time looking back, so for once to stop and marvel at how we g...
Read more
October 31, 2023

That Model S Plaid

I've owned a lot of great cars in my time. It's been one of the few places where hitting it big has allowed for something that wouldn't otherwise be possible. From Lamborghini to Pagani, Porsche to Ferrari, Aston Martin to Bentley, I have owned and loved them all. A+ use of lottery money, would do it again! It's against all these delig...
Read more
October 31, 2023

Workfeed goes to America

During my three years in Denmark, I invested in five local startups. All on the premise that we'd work towards becoming profitable, remaining in the country, and avoiding the VC timebomb. The one that has already fulfilled all the objectives is Workfeed, and now they're ready to take on the American market. It's a proud moment! Workfee...
Read more
October 30, 2023

Negative visualization in practice

The most counterintuitive of the Stoic mental exercises is that of negative visualization. Willfully imagining all manner of terrible things that might befall you, but haven't yet. Described like this, it sorta sounds like a fancy word of anxiety, but if you look closer, it's in fact its opposite. The point of visualizing the consequen...
Read more
October 27, 2023

X celebrates 60% savings from cloud exit

Musk has taken a cleaver to the costs and complexity at X. It hasn't always been pretty, but it sure has been effective, and in the process, he's proven his detractors wrong time and again. Not only has the site stayed up, despite hysteric proclamations that it would crater soon after his personnel changes, but X has been able to incre...
Read more
October 20, 2023

Buying the seller

We've just moved the 37signals podcast to Buzzsprout. Podcast hosting is to some extent a commodity market, so this was less about pining for a specific feature or even working to reduce the bill. This was about buying from Tom Rossi, the technical cofounder of HigherPixels (who make Buzzsprout), and his team, because we'd just prefer ...
Read more
October 19, 2023

The open source gift exchange

I love writing and sharing code as open source, but it's not an abstract act of pure altruism. The first recipients of these programming gifts are almost always myself and my company. It's an intentionally selfish drive first, then a broader benefit second. But, ironically, this is what's made my participation in the gift exchange of o...
Read more
October 16, 2023

The price of managed cloud services

One of the common objections to our cloud exit has been that we shouldn't have expected good outcomes from a lift'n'shift operation. That the real value of the cloud is in managed services and new architectures, not just running the same software on rented cloud instances. It's basically the "you're holding it wrong" argument for the c...
Read more
October 13, 2023

We tried that, didn’t work

In our quest for making programming simpler, faster, and prettier, no logical fallacy provides as much of an obstacle as “we tried that, didn’t work”. The fallacy that past failed attempts dictates the scope of what's possible. That just because someone, somewhere, one time attempted something similar and failed, nobody else should try...
Read more
October 11, 2023

You can't get faster than No Build

For the first time since the 2000s, I'm working on a new Rails application without using any form of real build steps on the front-end. We're making it using vanilla ES6 with import maps for Hotwire, and vanilla CSS with nesting and variables for styling. All running on a delightfully new simple asset pipeline called Propshaft. It's al...
Read more
October 7, 2023

One happy Rails World

Celebrating twenty years of Ruby on Rails with more than 700 happy developers packed into the coolest conference venue possible in Amsterdam was epic. Safe to say, Rails World was a roaring success. Which is deeply satisfying to conclude, because it really wasn't a given outcome when I started working on The Rails Foundation last year....
Read more
September 25, 2023

The Musk Algorithm

Walter Isaacson's new book about Elon Musk is a fine biography, but a better business book. And like all the best business books, it's not merely an instruction manual, but an inspirational guide too. Not since reading Ricardo Semler's Maverick in the early 2000s have I been this impressed with the foresight, fortitude, and ferocity of...
Read more
September 20, 2023

Finishing Hotwire with the introduction of Strada

When we announced Hotwire a few years back, it was always meant as a triptych. The center piece is Turbo. That's the drop-in level-up that makes multi-page web apps feel like single-page web apps – without giving up any of the development advantages to server-side programming. Then Stimulus brought order and structure to JavaScript spr...
Read more

See more posts »