I woke up a little before two on Wednesday, 30 September, picked up my phone, and used it for most of the next three hours. In that time one of my hosting servers was converted to CloudLinux, an inbox reader went from idea to live, Osita’s new site was built and promoted, and the rebuild of this site got started. I never opened a terminal or typed a command. I read, I decided, and I tapped.
The setup
Two computers at home, seven AI sessions between them. One is the coordinator: it holds the plan, reads every worker’s report, checks their claims against the systems themselves, and brings me only what needs me. The other six are workers, three on each computer, each with one job written down as a brief with its boundaries in it. Workers report to the coordinator. The coordinator reports to me.
Over the night my whole input was short messages, survey taps, and calls on one decision page.
The server
-
Pre-flight passed
-
Reader asked for
-
Go
-
Inbox reader live
-
Two crashes
-
Continue
-
Osita live
-
Server released
-
Site build starts
-
Last ask
The big job was converting a live hosting server, with client sites on it, to CloudLinux.
I’m converting the servers so my clients can use AI build tools on their own sites, safely. Every hosting plan now includes a governed AI builder: a staging copy where their own agent builds pages under a checked list, and nothing reaches the live site until a Promote step has checked it, because the agent writes and a person enables. Anyone who wants the agent ungoverned can pay for a copy in an account of its own, walled off by CloudLinux. The offer is in the WebOps launch post, and how the conversion was run is in the WebOps Field Notes.
The go was conditional, and I had set the conditions the evening before: two clean nightly backup lines, and a fresh backup of the whole disk already in place as the way back. That full-disk backup had been online since 00:45. The pre-flight checks passed at 01:45. The two backup lines came in at 02:27 and 02:40, both with zero failures, and the go followed at 02:41.
The conversion script ran from 02:42 to 02:53, and the server rebooted. Then the web server crashed twice, at 02:59 and 03:02, in the in-between state before the conversion was finished. The worker stopped, as its stop rule told it to.
There was no third crash. The second reboot came at 03:13, the remaining steps passed with four small deviations written up, and the soak checks came back clean. At 03:58 the server was released. Every step went on a ledger with its rollback written beside it. The full-disk backup was never needed.
The inbox reader
At 02:17, while the server waited on its backup lines, I asked for something I had been meaning to build: a reader that clears routine mail out of my operations inbox, and only mail it can match to something it has already seen. “Delegate a worker, let’s see if it can get it done before the conversion begins.”
- 28 min From ask to live
- 65 Tests behind it
- 139 Routine mails it would have archived, replayed over past mail
- 0 Non-routine mails it would have touched
It went live at 02:45 and costs about $0.61 a day to run. Its first real decision, at 02:55, was a mail it had no precedent for, so it left it in the inbox and flagged it. That is the designed behaviour.
Client work in the gaps
The ordinary work carried on around all of this. The coordinator drafted a reply to a client’s support ticket. I edited it in my mail app on the phone, asked for a lighter cut, and sent it at 02:38. A minute earlier, on my word, it deleted an old troubleshooting login from that client’s site, a one-time grant nobody needed anymore. At 02:50 my uptime alerts were pointed at a different mailbox, changed through the monitoring service’s API and read back.
Two websites
At 03:10 I approved the last strings for Osita’s site and the values for its privacy policy. The final build ran on staging from 03:14 to 03:37, and every gate was run against a positive control, so each check that passed had also shown it could catch a failure. I said promote at 03:43. The new build was live at 03:46, merged by 04:04, and on the Lucky Tyke portfolio by 04:11.
This site was next. At 03:27 I asked for a photograph on the home page in place of the logo, and sent candidates at 03:42. A copy rewrite came back as a deck in twenty minutes, with nine calls on one decision page, and I answered all nine by 03:52. At 04:12 I said to get the build started. When I went back to sleep it was still running on staging. It finished at 05:37.
At 04:20 I answered a survey question about turning a proposals plugin into a module for Foundry, the WordPress build system this site runs on: “Yes, scoped for October.” It was built offline, the full test suite finished at 4,658 assertions with none failing, and the module was proven on a live development site by 05:03. And at 04:38 I asked for a client’s staging site to be set up with an AI page-builder connector and SSH access, ready for them to try.
The miss
At 07:46, awake again, I opened the rebuilt site on my phone and tapped the menu. It opened to a blank white sheet.
The coordinator tried a fix, still saw white, and called it a caching problem. I agreed, and told it that it probably hadn’t flushed the cache. We were both wrong. The cache had been purged fine.
A worker measured it in four minutes. It was a CSS specificity bug: a rule in the core theme outranked the rule in this site’s child theme. The fix went through the navigation block’s own colour settings, so it can be changed later from the Site Editor.
So what does a solo operator look like in 2026?
In 2024 any one of these jobs was the evening.
What changed is where the person sits. The work that needs hands is done by workers with written boundaries. The work that needs judgment comes to me as a decision: here is the evidence, here is the recommendation, here is the strongest argument against it. The backup was online before the go. The go had conditions. The stop rule stopped the work, and continuing was a decision made in writing, with reasons and an override offer. Every live change was declared on a ledger with a rollback. Every build gate was tested against a case it should fail.
The work no longer needs me at a desk. It needs me for decisions, and decisions fit on a phone. That night I read them and answered them, and the gates are what let me do that at two in the morning without worrying about what I was saying yes to.
