“Now, I always preface this both to myself and when I speak to others about it, is rule number one, nobody fucking knows anything. No one can predict even six months ahead.” —DHH
I’ve been programming my entire life. My father, a doctor and clinical researcher, bought a programmable HP-41C calculator in 1979. I took to it immediately. By my tenth birthday, I had written an analytics app that he used for years to crunch data from clinical trials. I spent much of my teenage years at the keyboard of our IBM PC clone, writing programs to amuse myself and impress my friends in the local BBS scene.
This makes it all the more shocking for me to witness, in real time, the demise of human-written code (at least for all but a rapidly shrinking set of edge cases). As of a few months ago, I don’t write any code anymore at all. Most of the other senior developers I know have either stopped coding completely or they're in denial, clinging to the illusion that those hand-crafted semicolons and squiggly braces still have some value.
Even six months ago we could squint and tell ourselves that AI coding agents needed our help. But newer models have filled in the gaps. They are now incredible at creating 3D models, something they struggled with until recently. They can design polished UIs that would have previously required a skilled UX designer. They can work autonomously for hours, testing apps in the browser and fixing any issues they encounter. And they can track down obscure bugs buried deep in large legacy codebases.
There are some exceptions: maybe you’re working for a large corporation or national government with strict security requirements that do not (yet) permit use of AI agents for coding. Or you’re building software for an airplane or medical device, where certification processes will doubtless take years to catch up with the new AI reality. But for the most part, you can basically assume that if you’re still writing code by hand, you’re doing it wrong.
This doesn’t mean there’s no role for humans in software development. I still provide a lot of guidance on what to develop, do quick code reviews to vet architectural decisions, critique UI/UX and provide real-world context. Sometimes agents wander off on a tangent, and you need to hit them over the head with a rolled up newspaper like a mischievous pet. But AI writes the actual code better—and much much faster—than I ever could.
Meanwhile, quite a few of my non-programmer friends have taken up vibe coding.1 They used to come to me and say, "I've got an idea for an app", and I'd roll my eyes. Clever app ideas are cheap, after all. Now they come to me and say "look at this app I built", and in some cases they've already released it and are starting to book subscription revenue.
It only took a couple of months after the release of Anthropic’s Opus 4.5 model last November2 for pundits to start musing about a “SaaSpocalypse”.3 Why would anyone pay purveyors of “software as a service”, like Salesforce or Jira (and most of the other software you use), a hefty monthly fee when they can just vibe code it themselves—or at least the 10% of it they actually use?
“Nobody knows anything,” famously noted William Goldman, a Hollywood screenwriter. Now the same uncertainty that has long plagued the entertainment industry has infected the software business. AI coding models are improving so quickly, the time horizon for predicting anything with confidence is now measured in months, not years. We can only make our best guess and execute like crazy, using as much AI as possible, ideally with a solid plan B in case things don’t pan out as expected. Maybe plumbing or hairdressing... that probably won’t be replaced by AI any time soon.
So are software companies about to disappear? Will everyone be telling their AI agent "make me an accounting app for my small business" (bye, bye QuickBooks) or "make me a reservation system for my restaurant" (adios OpenTable)? Will Microsoft developers with Stanford PhDs and decades of professional programming experience be vying with pimply teenagers for barista jobs at the local Starbucks?
The last 10%
A friend of mine contacted me a few months ago. "I've got this idea for an app," he said. And yes, I rolled my eyes. We don't really do contract development anymore,4 and to be brutally honest, the guy couldn't have afforded us anyway. Instead I suggested he try coding it himself in Claude Code.
"Claude who?" he asked. I explained the whole AI coding thing, sent him the link and sat back waiting for the inevitable follow-up message two or three days later once he got stuck. Instead it was about 6 weeks until I heard from him again: "Hey, I've created my app… can I show it to you?"
We met, he showed me the app, and I was blown away. It was a very sophisticated, feature-rich app with decent UX and advanced functionality like multi-user collaboration. At this point I was pretty much prepared to write the obituary for professional software development. After all, this was a guy who didn't even know what AI coding was until a few weeks prior.
On the flip side, the "architecture" of his app was frightful: one huge blob of HTML, CSS and JavaScript all mixed together in a single file. Part of me wondered whether we should care; after all, does software design even matter when only AI will ever see the code? But maybe we should... nobody knows anything. So I told him to have Claude port it to a nice modern software stack with a more modular architecture.5
I talked to him a few weeks later, and by then he really was stuck. He complained about the amount of time he had ended up spending on the app, despite the promising first impression. What’s more, he was struggling to get the last 10-20% done so he could finally release it. As he tested the app, he was discovering a steady stream of issues. Whenever he fixed an issue, it seemed like two more cropped up.
As far as I know, he is still laboring to get the app done. I dare say he'll manage it eventually, but this anecdote belies the myth that AI has made software development free and instantaneous. That final 10% that takes forever to finish is something programmers have faced since time immemorial, and even the magic of modern AI has not spirited it away.
Two benighted spreadsheets
Around the beginning of the year, I decided my company needed better financial reporting and forecasting. At the time, we had various data spread across Google Sheets, HubSpot (CRM), Xero (management accounts) and Timely (timesheets). We had very little visibility into future financial performance. Even on the last day of the month we had virtually no idea of how much revenue we had accrued that month or what our margins would be.
The requirements were quite specific. We have been transitioning quickly from a general-purpose software agency into a 3D configurator specialist selling product licenses for our configurator framework, as well as services implementing configurators for customers on top of that framework. Predicting how much revenue to credit to a future month was a multivariate mish-mash of how many developers we had, how they were distributed across client projects, and how much we expected them to get done each month. To add to the complexity, we also had some lingering vestiges of our agency business that we needed to account for.
I ended up taking over an existing Google Sheet for keeping track of our configurator work, and linking it to a brand new one for the financial projections. I used Claude Code for both, authoring a combination of Google Apps Script6 and formulas. The scripts pulled in data from various third-party apps including Xero, HubSpot and Timely.
It worked. But it was hardly convenient to be flitting back and forth between two spreadsheets, with frequent manual syncs to rerun the background scripts and keep everything up-to-date. The UX was teetering on the brink: with no way to view two values in a single cell (e.g. the predicted and actual revenue for a month), the column count was ballooning beyond what even my hi-def 27" monitor could comfortably handle. There was also no way to toggle between currencies, inconvenient for a company that keeps its accounts in Czech korunas but bills primarily in dollars and euros.
Most cells contained an opaque number, generated by background scripts without knowing how it was derived. Others contained the kind of formula only an AI could love. One of my favorites:
=(People!$C$15<=EOMONTH(DATE(2027,11,1),0))*((People!$H$15="")+(People!$H$15>=DATE(2
027,11,1)))*((People!$F$15="")+(People!$F$15>EOMONTH(DATE(2027,11,1),0))+((People!$G
$15<>"")*(People!$G$15<DATE(2027,11,1))))*IF(People!$I$15<>"",People!$I$15*IF(OR(Peo
ple!$K$15="",People!$K$15=0),1,(1+VLOOKUP("Percentage",Assumptions!$A:$B,2,FALSE))^M
AX(0,(2027-2026)+IF(11>=MONTH(People!$K$15),1,0)-IF(MONTH(People!$K$15)<8,1,0)))*MAX
(0,'T&M'!$Y$2-IFERROR(VLOOKUP("Nov",Holidays!$E$2:$F$13,2,FALSE),VLOOKUP("Days Off/M
onth",Assumptions!$A:$B,2,FALSE))-SUMPRODUCT((Leave!$A$2:$A$100="John Doe")*Leave!$A
A$2:$AA$100))*(IF(People!$H$15="",DAY(EOMONTH(DATE(2027,11,1),0)),IF(People!$H$15>EO
MONTH(DATE(2027,11,1),0),DAY(EOMONTH(DATE(2027,11,1),0)),DAY(People!$H$15)))-IF(Peop
le!$C$15<DATE(2027,11,1),1,DAY(People!$C$15))+1)/DAY(EOMONTH(DATE(2027,11,1),0))*IF(
People!$O$15="",1,People!$O$15/40),People!$B$15*IF(OR(People!$K$15="",People!$K$15=0
),1,(1+VLOOKUP("Percentage",Assumptions!$A:$B,2,FALSE))^MAX(0,(2027-202
6)+IF(11>=MONTH(People!$K$15),1,0)-IF(MONTH(People!$K$15)<8,1,0)))*(IF(People!$H$15=
"",DAY(EOMONTH(DATE(2027,11,1),0)),IF(People!$H$15>EOMONTH(DATE(2027,11,1),0),DAY(EO
MONTH(DATE(2027,11,1),0)),DAY(People!$H$15)))-IF(People!$C$15<DATE(2027,11,1),1,DAY(
People!$C$15))+1)/DAY(EOMONTH(DATE(2027,11,1),0))*MAX(0,1-SUMPRODUCT((Leave!$A$2:$A$
100="John Doe")*Leave!$AA$2:$AA$100)/'T&M'!$Y$2))+(People!$H$15<>"")*(People!$H$15>=
DATE(2027,11,1))*(People!$H$15<=EOMONTH(DATE(2027,11,1),0))*N(People!$L$15)A couple of months ago, I cracked. I was sick of trying to force the round peg of our idiosyncratic requirements into that decidedly rectangular Google Sheets-shaped hole. And with AI coding agents improving at an almost spooky pace, I decided it was time to vibe-code the whole damn thing as a proper browser-based app.
I pointed Claude Code at the two benighted spreadsheets and said "make this into an app".7 It asked a few clarifying questions, burned through a slew of tokens and, an hour or so later, birthed a bouncing new bespoke web app. And, as God would say: it was very good.
Well not that good. The UX was definitely a vast improvement over the spreadsheets:
Some cells show predicted and actual values with a handy color-coded percentage for the delta (green for good, red for bad).
Currency can be toggled globally between CZK, USD, EUR and GBP.
Many cells are now hot links and can be clicked to pop up a line item breakdown.
Columns can be collapsed, filtered and reorganized, so everything finally fit on one screen.
Everything lives in one place, so no more toggling between two spreadsheets.
But there was clearly a lot more work to be done:
The functionality was a fairly small subset of the original spreadsheets.
Some data looked suspicious or downright wrong.
Handy spreadsheet features, like highlighting a group of cells to see the sum or average, were missing.
Claude deployed the app on a server so I could share it with my colleagues, but there was no login or access rights; anyone with the URL could see everything.
Since then I've been plugging away improving the app. Naturally, AI is writing all the code. I've been doing code reviews when working on client projects, but this app is pure vibes. In addition to addressing the above-mentioned issues, I created a mobile version with the full user interface, adapted for smaller screens. And I added whole sections that a spreadsheet could never have handled, including a scheduling screen that lets us plan who'll work on which upcoming project, and an overview that lets you drag-and-drop from a pre-defined palette of widgets to create your own customized dashboard.
Two months in, I've burned through over 5 billion tokens to create over 40,000 lines of code that I have never looked at. Like all software, the app isn't done... and probably never will be.
Questioning the SaaSpothesis
Both anecdotes lead to the same conclusions:
You no longer need to be a programmer to create software.
Technical knowledge is very useful nonetheless.
Creating good apps still takes time, effort and expertise.
The last point is crucial. If my friend had outsourced his app to a software agency, they would doubtless have billed him far more than he was willing to pay. And there's no way I would have developed my finance app in the pre-AI era, since I have too many other demands on my time. Thanks to Claude, I've been able to work on it in the background, prompting the AI to make changes before returning to one of the many other tasks that are vying for my attention.
But creating great software is hardly free. This is where the SaaSpocalypse hypothesis falls down. My company pays hefty monthly fees for a number of SaaS apps. I would love to vibe code them all and use the money for fancier kitchen snacks and a ping-pong table nobody will ever use. But even with AI, this would mean a significant upfront development effort and months of ongoing maintenance as we discover essential features that we missed.
It's more likely that SaaS vendors themselves will use AI coding to create better, cheaper software. It makes more sense for Salesforce to leverage AI to improve functionality and lower costs for its 150,000 customers, rather than each of those companies creating their own mini-CRM solution from whole cloth.
Besides, the code was never more than a small part of what we are buying. We're also paying for a safe place to keep our data, with backups, access controls and an audit trail. We're paying for integrations with dozens of other tools, for keeping up with tax rules and privacy regulations that change every year, and for somebody else to get woken up at 3am when the servers go down. The first version of my finance app would have shown our entire financial history to anyone who stumbled on the URL. Multiply that by every app a company might vibe code, and even a hefty monthly fee starts to look like a bargain.
Not to suggest that SaaS incumbents can go back to drinking piña coladas on their superyachts while they watch the recurring revenues roll in. Even if the impact of AI is not yet an extinction-level event, it is going to be extremely disruptive to their businesses. They need to retool their processes pronto to take full advantage of AI while contending with their massive legacy code and user bases. If they don't, there is plenty of room for "AI native" upstarts to outcompete them.
We are also going to have a lot more software. Both of the examples above describe software that simply wouldn't have existed in the pre-AI era. My friend’s app is a long-tail product addressing a narrow vertical niche. My financial app replaced a pair of spreadsheets, not a SaaS subscription.8 That's where vibe coding will really make its mark: not by replacing Salesforce, but by creating the vast swaths of new software that we have always wanted but could never afford to build.
Of course there's always the possibility that this is all completely wrong. A new AI coding model might come out in a few months (or weeks... or even days?) that is so fast and so good that the price of software really does go to zero. If that happens, the entire software industry will collapse, and developers have no choice but to trade in their MacBooks for monkey wrenches and curling irons.
I think it's unlikely that will happen any time soon... but then nobody knows anything right now.
Arguably the final nail in the coffin of human coding.
Another new coinage, reportedly by a trader at Jefferies, a New York-based investment bank.
We're too busy selling 3D product configurators.
React, if you're curious.
Okay, that's a slight exaggeration: I also told Claude to use React, and we discussed how to deploy the app and how to handle back-end data storage.
And there are a lot of spreadsheets waiting to be replaced. According to a 2026 survey of finance leaders, spreadsheets are still the main planning tool for 76% of finance teams, and two-thirds of UK companies with more than 250 employees still reconcile their accounts in Excel.


