Why I have stopped building Patched
On 31 October I stopped development on Patched. The endpoint assurance SaaS had already been retired at the start of October, the consumer Mac updater that replaced it is not going to be finished or sold, and patched.im now carries a short closing note in place of the product pitch and the waitlist. It has been four months since I started building it, and I wanted to set out why it ended where it did, partly because a few people have asked and partly because writing it down is the most reliable way I know of checking that the reasoning actually holds.
Where it started
When I left Flutter in June I had spent twenty six years in enterprise endpoint management, the last stretch of it running a 6,700 device estate across Windows, macOS and iOS with Jamf and Intune, and of everything that job involved, keeping third party software patched across a fleet that size was the part I knew best and, if I am honest, the part I enjoyed most. The original idea for Patched was a consumer product: a macOS patcher for ordinary Mac owners, filling the gap MacUpdater left when it shut down in January, built by someone who had done app patching at scale and knew where it tends to go wrong.
The assurance detour
I did the market research before committing, and the research steered me away from consumers and away from patching, towards businesses and what I ended up calling endpoint assurance and software governance: telling a customer what was on their estate, what had changed, what was vulnerable and whether their controls were actually working, and then routing remediation back into whatever they already ran. By late September it had become a self serve SaaS. Some of it was genuinely useful, but it had gutted the thing I set out to build, and most of the work turned into reporting and governance views that I found dull to build and had no real feeling for.
Two things ended it in early October. The first was finding Action1, which my earlier research had missed entirely and which gives away patch management for the first 200 endpoints, permanently and with no feature limits, to precisely the size of business I would have been selling patching to; a one man shop cannot build, host, secure and support a patching platform for less than nothing. The second was a demo request from a prospect, which should have been good news and instead made me realise I did not want to run a SaaS at all. I retired it on 7 October and cancelled the servers.
The Mac updater
Rather than stop, I went back to the original idea. The plan was the consumer Mac app I had wanted to build in the first place, one that would check your installed apps against what their developers had released, verify that each download was signed by the expected developer and notarised by Apple before installing anything, keep your app list on your own Mac, and let you update everything at once or on a schedule, for £19.99 a year across five Macs in a household.
I got a fair way with it. The repository has about 140 merged pull requests, a native Swift client covering inventory, first run, preferences, scheduling, activity history and a menu bar item, and working proofs of the verification against a real Firefox download and of installation and recovery inside a virtual machine. What it never had was the part a customer would actually pay for working end to end: catalogue matching and verified installs in the real app, the scheduler wired up, and a signed and notarised release.
Why I stopped
By the end of October the consumer updater space had filled up with tools that already do what Patched planned to do, and do it today. Updatest became free after joining Workbrew, which sells managed Homebrew to companies, which is the same consumer to enterprise route I had in mind, run by a funded company. Floodtide is a £10.99 one off purchase for three Macs and already does batch updates, backups, rollback and signature and Gatekeeper checks. OpenNavo is free and open source and covers update all, scheduled checks, a same developer signature rule and rollback, and Latest has been free and open source for years. The differentiators I had planned were already available for nothing, a nicer interface on its own is easy to copy, and £19.99 a year does not compete with free or with £10.99 once.
The first public feedback I got, on Threads on 31 October, said the same thing more bluntly: macOS already checks signing, free tools cover the rest, and scheduling is a thin reason to pay £20. That evening I decided I was done, and the following morning the main thing I felt about the updater was relief.
Looking back over the four months, the pattern is fairly plain. Patched kept entering races that other people had started earlier and were better funded to finish, the SaaS ran into Action1 and the updater ran into Floodtide, OpenNavo and the rest, and once the evidence was that clear I would rather stop than spend another six months building something the market had already answered.
What I am actually taking away
Patched did not become a business, but the biggest thing to come out of the four months has nothing to do with the market, and it is how far my AI and development skills have come. I went into it as someone who had spent twenty years writing scripts, packages, extension attributes and detection logic for SCCM, Jamf and Intune, which is real engineering but is not the same thing as building and running software, and a year ago I could not have built most of what now sits in the Patched repositories. Over the four months that came to a Python portal and the SaaS platform behind it, a licensing service on Cloudflare, a native Swift Mac client with around 140 merged pull requests, and verification and recovery proofs running inside virtual machines.
The way of working changed as much as the output. I learned agentic coding properly with Claude Code and Codex and set up CI pipelines on self hosted Linux GitHub Actions runners, which cut out most of what GitHub charges for hosted runners, and which sit on their own VLAN on my UniFi home network, carried through to the host in my Proxmox environment so they stay separated end to end, but the part that taught me most was the dispatcher I built on top of them. It took tickets marked as ready in Linear and worked through them one after another without me, running for hours at a time and across many tickets, with a cap on how much it could use in total and rules for stopping and escalating to me when the same thing kept failing, so that it did not burn through a day retrying a broken fix. Strictly speaking that sits a layer above the harness: Claude Code is the harness, meaning the tools, context and permissions a single session runs inside, and the dispatcher is the orchestration that decides which ticket goes next, supervises each session and knows when to stop. In July I wrote that the harness around a model matters more than the model itself, and four months later I would extend that upwards, because most of what went wrong in long unattended runs came down to the orchestration rather than the model or the harness. Alongside that I had agents carry out read only code reviews of the whole codebase, ran local models on a Mac mini to see where they held up, and ended up doing a good share of the thinking by voice while out walking.
The same tooling is also the part I would treat differently next time. Because effort never ran out, there was always another ticket to work on and never a natural point at which to stop and ask whether it was worth doing, and a queue that never empties is a poor substitute for a customer telling you yes. Next time I would look for the free and cheap alternatives before writing any code and keep looking every couple of weeks while building, because both of the competitors that ended Patched were findable.
What happens to it now
The waitlist is closed and patched.im links here. I plan to publish the Mac app code on GitHub as open source once I have been through the full history for anything that should not be public, with a README that says plainly what it does, what it never got as far as doing, and that it is no longer being developed. If any of the verification work is useful to someone managing Macs, they are welcome to it.
I am now looking for my next role, ideally somewhere that can use both the twenty six years of endpoint and platform engineering and the agentic development work that came out of Patched. If that sounds like your team, I would be glad to hear from you.