As you’ve no doubt noticed, I love AI. For some of you, I get why that makes you a little nervous. Hang onto that for about three minutes. Then I’m going to show you why this is probably the least scary thing I’ve done since college (no comment on during), and why it might be the most human.
Let me start where this actually started, which is not with AI at all. It’s with the cron job.
MXroute was always built to stay small, automate heavily, and keep the human element exactly where it belongs. Pair that with our early decision to run licensed software as the management stack on the inbound mail servers, and scaling gets interesting. None of that surprised me. It was always clear that solving every problem would be a moving target.
As we’ve grown, we keep finding oddities that need a human. Some of them we can fully solve, but others require months of development work. For the latter, we mitigate on the fly. The tool of choice for that mitigation has always been the cron job. Picture this:
- Cron job fires every 5 minutes. If it detects an elevated count of a certain error message, it restarts Dovecot and fires off an alert to me.
It works, usually. It’s the kind of automation that never made anyone say “this business is being taken over by automation.” It’s just necessary system administration under tricky circumstances.
As we’ve grown, more edge cases reveal themselves, and more cron jobs stack on top of cron jobs like duct tape holding everything together. People don’t like to admit this, but this is normal. A public company with 15,000 employees has plenty of systems its admins feel exactly the same way about. What you don’t hear from the big companies, because they’re protecting a perception of professionalism (sorry, I prefer radical honesty), is that problems like this are often what kick off a hiring spree that spirals out of control and ends in an acquisition that cleans up the mess by firing everyone.
So sure, I could do the normal thing. Raise prices, chase investors, hire a bunch of people, and be like every business you’ve ever watched grow. But that right there is the moment they start selling off pieces of the soul of the company. Prices go up, a staff page appears showing off everyone’s LinkedIn headshots, and the founder who used to run the whole thing in his underwear from a spare bedroom is now wearing pants to a meeting about meetings, dying a little more every day, handing operations to people who are only there for a paycheck (which is fine, it’s not their baby). Profits become the point. Sales and marketing quietly take over what used to be product decisions. And eventually, when everyone is rich and dead inside, they sell to a holding company that specializes in firing almost everyone, milking what’s left, and dumping it when it runs dry.
Why would I do that? MXroute was founded to be the antithesis of all of it. Our commitment to minimal hiring isn’t about maximizing profit. It’s the recognition that the human element vanishes when there are too many cooks in the kitchen. If I want to keep the feel of the small business I actually want to run, I have to be absurdly productive. And so: cron jobs.
Technology finally caught up in a way that allows me to make those cron jobs smarter, and this is where AI actually shines. No one ever complained about cron jobs taking over a business, but AI scares the hell out of people. To a lot of people it’s the single biggest threat to the soul of a company. That’s because everyone is using it wrong, and it shows. You want to talk to your bank, you get “here’s a chat bot that can read our FAQ page to you.” That’s exactly backwards. AI, just like the cron job, should never replace the human contact a customer actually wants. It should replace the pile of one-off chores that keep that human too busy to write an email.
So here’s the rule I run by, and it’s the whole point of this post. The AI gets the dirty jobs. It does not get the human contact, and it does not get to do anything I can’t undo until it has proven, over and over, that it reasons exactly like I do. Anything that could hurt you stays on me until that bar is met. No exceptions.
Now, in contrast to that first “picture this,” picture this:
- Cron job kicks off a local LLM with access to a private ClickHouse instance to read server logs for signs of trouble. It identifies a problem, has limited access to perform specific mitigations based on the actual variables in front of it, digs into the root cause (if it’s limited access gives it enough data), and hands me a full report of what happened.
That’s intelligence replacing the dumb cron job, so a human isn’t knee deep in one-off admin tasks all day instead of talking to customers and building what they asked for. And it’s happening locally, not by shipping metadata off to ChatGPT.
Here’s what’s actually running today, and I want to stress that all of this lives on a box sitting on my own desk, acting as an extension of myself, not handed to a third party:
-
Expert Spam Filter whitelist requests are roughly 75% automated, running the exact same logic I used to process by hand every day, with perfect execution. For now I’m still merging the pull requests myself. Soon a second job will take over the IP whitelist PRs.
-
Compromised account handling. Today, every user we suspect of a compromised account (usually credential stuffing) gets outbound blocked by a cron job, and then I make the call by hand, every day. The gap between “cron job blocked outbound” and “Jarland decided whether it was really compromised” keeps growing. I could never write a cron job for my half of that, it takes real reasoning. So AI is running beside me on it right now, and it stays beside me until we reach the same conclusion every single time and I’m satisfied handing it over.
Here’s what’s coming next, all of it on that same box on my desk:
-
Watching Dovecot, Exim, Apache, and DirectAdmin for the things that wreck a morning: excessive config reloads, API timeouts, unexpected errors. It reviews the service config against the errors to surface anything that needs adjusting, restarts what needs restarting, and hands me a full report.
-
Making pull requests against the inbound filters when it spots a spam trend, with the justification and the blast radius of each PR spelled out, held for my review. Unlikely to ever be fully automated, but who knows what the tech brings me tomorrow.
That’s the design. More dynamic situations handled, fewer failures or misses from dumb scripts. The error rate goes down, the success rate goes up. We’re using AI to increase the humanity here, while everyone else uses it to reduce it.