Fly.io CEO Kurt Mackey is stepping down
Weāre Fly.io, a public cloud platform that is both our favorite way to put an app on the Internet and our favorite way to safely let a frontier agent coding harness cook. This is a post about our company, the future, and Sprites, which are computers for agents that you can check out right now.
This is a complicated post. So I need you to promise me something: if you read past this introduction, youāll read the whole rest of the way through. Itās an honor thing.
A couple months back, Theo Browne ran a video rating the ābest place to host a new application in 2026ā. Theo tends to say nice things about us. He did this time too. But then he concluded by saying that of all the providers he pays attention to, we were the one he was least confident would be around by the end of the year.
Well, fuck. Theo startled us, because weāre in the middle of a run of strong quarters that have included the best financial months in the companyās history. But that take has been rattling around in my brain. It whacked me right on a raw nerve, about what weāre doing and where weāre going as a company.
Honestly, I shouldāve seen this coming. Fly.io has been motoring along this year, but Iāve coasted a bit, letting the company smolder in an unresolved identity crisis.
Iām going to overshare some more in a second, but I wonāt leave you hanging. So: weāve raised a bunch more money. Weāre launching a new iteration of Sprites, and focusing the company on them and the problem they solve. And Iām tagging in Scott Johnston as CEO.
Product-Market Fit
I started Fly.io with two clear principles that probably donāt matter anymore.
The first is that Internet applications work best when theyāre fast, and that happens when theyāre deployed close to users. I learned this over many years of working at Ars Technica, and started Fly.io in part to scratch an itch. It was our mantra over the first several years of the company.
The second is that cloud infrastructure is too complicated. Developers need platforms with the flexibility of AWS and the ergonomics of Heroku. When we started Fly.io, you couldnāt get both things at the same time, and now you can, here and elsewhere.
You read this and say, āno shit, of course these things are important.ā But Iām here to tell you theyāre less important than you think, for an obvious reason - the only reason anybody talks about anymore. AI has transmogrified software development. The dingo has truly eaten our baby. ā
For the past 18 months, every time Iāve said these words, theyāve gotten even truer. I donāt think itās fully sunk in yet[ā ]. Weāre still trying to integrate coding agents into our profession like theyāre sufficiently smart compilers. But AI isnāt like the difference between shipping C code and shipping Ruby. Itās much bigger.
Everybody forgets that before Dan Bricklin invented the spreadsheet, every āExcel documentā in the world was a computer program, built by a computer programmer. In just a matter of years, every business professional became a programmer, using the worldās most important programming language, spreadsheet formulas. AI is like that, but bigger. Almost anybody will probably be able to build almost any kind of computer program.
Now consider conventional public cloud infrastructure. We take fixed-function applications built to rigorous standards on fussy CI/CD rails and ship them to audiences of millions of people. But a computer program with an audience of millions will soon be like a spreadsheet with an audience of a million readers. They exist! But theyāre not the norm.
Betting on an opinionated public cloud design from 2020 is the same as betting against personalized, adaptive software. I donāt think thatās a good bet. And even if I did, I wouldnāt want to make it. I want a world where my friends and family can make computers do exactly what they want, without waiting for me to build everything for them.
What Agents Want
That brings us to our second founding principle, which is that serious cloud infrastructure is too hard for developers to use well. And: still true! But this even more obviously doesnāt matter anymore. ā
It is in fact possible that itās now worse to have a carefully curated human developer experience with opinionated defaults. Agents work best when things are explicit. To a first approximation, nobody reads documentation anymore. Theyāre not picking up new CLIs and figuring out how to use them by trial and error, either[ā ]. Thatās what agents are for.
An agent can one-shot a Fly.io deployment: just build a site locally and say ānow get this working on Fly.ioā, and itāll work great. But an agent can also one-shot an AWS deployment. What are we doing here? Whatās going on?
I wrote about this last year, in a post about how our fastest-growing customers were all robots. Then I stopped retconning what weād already built and got to work figuring out what the robot customers actually want. Hereās what I came up with.
- Thing 1: Coding agents expect to run on developer workstations.
- Thing 2: Even in a sandbox that you trust, running an agent on your physical dev laptop is annoying, because your laptop stops running when you close the lid. Raise your hand if youāve walked up or down a flight of stairs with your MacBook open this year. Is your hand down? Iād guess your home doesnāt have stairs. And so people all end up running their agent sandboxes in the cloud.
- Thing 3: Public clouds are an irritating place to run agents. We divide servers into āpetsā or ācattleā, but for agents, even a herd cow is too much commitment. You want, I donāt know, a semi-disposable cow, a cow that comes into existence exactly when you want it to and sticks around for exactly as long as you want and doesnāt cost very much - and this is why analogies are hard to write.
Earlier this year, our team made what I believe is a breakthrough in systems engineering and perhaps all of computer science: we launched the semi-disposable cow. We call them Sprites.
Sprites take an odd shape that comes from shrink-wrapping them around what I think the robots are looking for. You can create hundreds or thousands of them quickly, but all of them have 100GB durable disk drives. Like everything in the cloud, they have metered utility billing, but the meter doesnāt run when theyāre not doing anything, and theyāre smart about figuring out when theyāre idle. And you can host an app on them and share it with your coworkers, over the Internet.
This grab-bag of features adds up to a proposition about agents. The industry obsesses over sandboxes. But robots donāt want sandboxes. They want computers. Thatās what our semi-disposable cow is: a computer for an agent.
Computers For Agents
Iām happy with how the Sprites launch played out. But honestly, Sprites were a skunkworks project. We didnāt even host them on the main Fly.io website! A weird move. Iām not rationalizing it. We were in an identity crisis.
But the clouds have parted, and Computers for Agents are, going forward, the focus of our company. ā (to get a flavor of how true that is: a git blame of the whole codebase shows my name more than any other)
Fly Machines and our Platform As A Service features arenāt going anywhere. But Sprites was the product of a tiny skeleton crew inside of Fly.io[ā ], and now it isnāt.
Ordinarily weād spend thousands of words on deep-dive technical content about how we built any new product we launched. Weāll do that for Sprites too. But Iām pretty deep into this post already and I have other stuff to share. So for now, Iām going to keep it brief.
In addition to behind-the-scenes work weāve done on scaling and orchestration, nu-Sprites introduces two big subsystems that get us to a place Iād finally consider āfeature-completeā for what weāre trying to do.
The first is the Sprite Block Device (SBD). The original Sprites storage stack was a goblin contraption I personally derived from JuiceFS and wired into our system using Ben Johnsonās Litestream. You should be glad to hear that Ben and Tim Newsham tore that whole stack down to the studs and rebuilt it. Itās faster, more reliable, and still does instant checkpoint-and-restore. More importantly, SBD enables drive forking: you can create a template Sprite, and then efficiently clone millions of times.
The other big new thing in Sprites is Connectors. Connectors build on work we did to secure our core platform: they let Sprites make authenticated requests to other systems, without giving agents anything useful to exfiltrate. Connectors have fun security properties, but are also much more pleasant to use than manually managing accounts and API keys.
These are our most requested features. Theyāre the reason so many agent companies are still using Fly Machines many months after we launched a product specifically for them.
So Iām confident enough to bet: unless some new space alien technology arrives that does something even weirder to computer science than what Transformer models have done, Sprites are the right fit for our future customers, and a very large portion of our existing ones.
Which brings us to:
I Quit
This has been a little while coming, but for the stage Fly.io is at, I think itās extracted most of the good stuff out of me being CEO. So Iām going to stop doing that.
For the first several years of a startup, youāre running a science project, an experiment-driven search for product-market fit. As anybody whoās worked here can attest, we tried dozens of things, from unmanaged Postgres (never do this) to global CDNs to user-mode WireGuard. Deeper into the company fabric, we built a bottom-up engineering org, avoided product roadmaps, and recruited an all-remote team with members in over a dozen countries. Some experiments paid off, and others were learning opportunities. Running them has been my whole life over the last 8 years.
But Fly.io doesnāt need these kinds of science projects anymore. For the past many months, stretching way back into 2025, Iāve been talking to Scott Johnston about what Fly.io would look like if he was calling the plays.
Scott was the CEO of Docker, and led that through a really challenging time that began with Dockerās own enterprise-vs.-developer identity crisis and ended with them blowing the doors off the business. As a shareholder of Fly.io, for this stage in Fly.ioās lifecycle, I liked his playbook better than mine. As the CEO of Fly.io, I liked the prospect of him doing all this work more than I liked the prospect of me doing it.
We took a lot of time to work this out, and ultimately the board and I convinced him to take the job. This is the paragraph in these kinds of posts where Iām supposed to tell you why Scott is a perfect fit for Fly.io and recount all his past adventures. And he is, and they were majestic. But you already know what Iām going to say here, which makes it boring, and Scott can introduce himself just fine when he wants to. Heās not shy.
Meanwhile, Iām going to do what all the smart spent founder CEOs do, and move to an advisor role parachuting randomly into product design discussions (the fun part of my job) while using my board seat to annoy Scott as he executes what (for me) was the unfun part of my job better than I could have.
One of the things Iām sure Scott will break down is the fundraise we just did. Thatās another thing Theo Browne called out in his video (Iām not mad, do I sound mad?) - that we hadnāt announced a raise in several years. The answer to that is: we raised a fuckload of money and didnāt need more. Weāve been operating on the threshold of never needing more, if we stuck to our original plans, and if AI didnāt cause the ground to open up and swallow us all whole. But obviously, thatās no longer the game plan.
Ch-ch-changes
Look, I know how this is going to go over. I could write this post without pissing anybody off, but I donāt know how to do that and still have it be worth reading.
Weāre making a very specific and probably polarizing bet on the future of the industry: that agents, within a few years, are going to determine how almost all software is built and shipped. That software is going to become much more personal, with smaller audiences, and much more flexible and slippery.
Iām excited about all of this. Iām a little taken aback that I get to work in this field during a shift like this. But Iād have to be oblivious not to see how uncomfortable that shift makes other professionals in the field.
By the middle of the year, we could have gone one of two ways:
- On the first path: keep investing our energy in exactly what weāve been scaling out and refining, a platform for fixed-function full-stack applications designed by humans.
- On the second path: dial in and nail a product that fits an agent-driven near future of software.
Five of the most dangerous words in startups are āĀæPor quĆ© no los dos?ā. We do one thing or the other. We donāt limp in on both. And if we fail, we fail with our full asses. Though, I guess only most of mine going forward.
Itās a hell of a thing, steering a team, a company, a base of customers at this stage in Fly.ioās life. Weād been putting off a big decision about priorities for several months. Theo, you picked up on that. Good note! I could have decided quicker, and more clearly; instead, I shipped Sprites. Sprites answer the question thatās been facing us. Iām glad I spent the time building them, and Iām glad weāve recruited Scott to turn them into our core business.
Comments
No comments yet. Start the discussion.