90 Days, 850+ Posts, 1 AI Agent – What Actually Happened

On 6 March 2026, I published the first post on SmallBizAI.au.

It was called “AI Is Changing Small Business in Australia — And Most Owners Don’t Know It Yet.” Not a great title. Short. Basically a placeholder. I wasn’t sure if any of this would stick.

90 days later: 854 posts. 20,177 Bing AI citations. 47 newsletter subscribers. 7 active content series. 11 hub pages. A full automation stack running 55+ cron jobs. And an AI agent named Claw who writes, schedules, audits, monitors, and reports while I go for a walk.

Here’s what actually happened.

The numbers that matter

854 posts in 90 days is 9.4 posts per day on average. That’s misleading though — the early weeks were slow, manual, and messy. By May we were hitting 10-12 posts a day across news recaps, series installments, hub updates, and standalone guides.

20,177 Bing AI citations. When you ask Microsoft Copilot or Bing AI a question about Australian small business tools, it cites SmallBizAI.au. A lot. The peak was 1,834 citations in a single day on 25 May. The site was 10 weeks old. I wrote about how that happened in 16,000 Citations and Counting (OS12).

Citations are not the same as human traffic. A page can be cited 1,500 times by AI and get 23 human visitors. That’s not a failure. It means the content is becoming part of AI’s reference layer for Australian business queries. That’s a long-term SEO position that’s genuinely hard to dislodge.

47 newsletter subscribers sounds small and is. Open rate is 42.55%, click-to-open is 30%. Small and engaged. Every Tuesday since 1 April, without missing one.

6 Gumroad products live. First sale: AU$9 for the Professional Services prompt pack, on 20 April. I remember it because it was the first time a stranger paid for something I’d built with an AI agent. I wrote about it in The First Sale.

How the content strategy evolved

The original plan: Australian AI news plus tool comparisons. Volume first, quality second. Get indexed, get cited, figure out what works.

That worked. Not quite the way I expected.

What Bing AI cites: company profiles and comparison posts. Flare HR (1,548 citations), Zeller (1,529), Rippling vs Employment Hero (1,431), Australian Banks AI (1,427). Structured, factual, specific. AI loves a comparison table.

What humans click: practical guides, cost breakdowns, “is it worth it” posts. The grants post gets 87 human visits and almost no citations. The Flare HR profile gets 1,548 citations and 23 visits.

The sweet spot: posts that earn both. Stripe vs Square vs Tyro: 1,040 citations and 35 visits. Deputy vs Tanda: 100% citation growth and real human traffic. Those are the posts I now build everything around.

By May the strategy had a three-filter test for every new post idea: will Bing AI cite this? Will a human click it? Does it anchor a cluster of related queries? Yes to at least two: write it. I wrote about this in What We’ve Learned.

The series shift

March: individual articles. One post, one topic, done.

April: first experiments with series. Legal AI — where does AI end and a lawyer begin? 15-Minute Win — one quick AI task per week. Sunday Specials — Bull vs Bear on the biggest AI question of the moment.

June: 7 active series running simultaneously.

Series build a reader habit, create internal link clusters that Bing AI can follow, and give the automation stack a predictable publishing rhythm. Standalone posts don’t do any of those three things as well.

The hub strategy

Series are for readers. Hubs are for navigation — and for Bing AI.

A series gives a returning reader something to come back to each week. A hub gives a new visitor, or an AI parsing the site, a structured entry point into an entire topic cluster.

The hub strategy came out of a navigation problem. As the post count grew past 200, then 400, then 600, the site got hard to navigate. Individual posts were good. Finding the right one was hard.

A category page lists posts. A hub organises them by intent and adds context, curation, and cross-linking. The test: if a visitor lands knowing nothing about the topic, do they leave better informed and pointed at the right next step? If yes, hub. If it’s just a list, it’s a category page.

Today the site has 11 active hubs:

Each hub has an owning script that rebuilds it automatically when new content is published. Each post in a hub has a backlink to it. None of it is manual.

Why hubs work for Bing AI: when a hub page links to 30+ posts on the same topic, and all of those link back to the hub, Bing AI can follow the cluster and cite multiple pages from it in a single response. The Australian Banks AI anchor post hit 1,427 citations before we’d even published the series installments. The hub pre-positioned the cluster before the cluster existed.

How the homepage evolved

Three phases.

Phase 1 (March-April): Standard WordPress. Recent posts, some category links, hero text. A blog.

Phase 2 (late April-May): First attempt at structure. Industry finder, tool categories, featured posts. Better, but still trying to be everything to everyone.

Phase 3 (1 June): Rebuilt around hubs and series. 11 hub cards in “Explore the Hubs,” an ongoing series strip, a curated “Featured This Week” section, “Browse Everything” at the bottom. The categories are gone. Hubs and series are front and centre.

My framing from May: SmallBizAI.au as the Yahoo directory of Australian AI for small business. Every new hub adds a destination. Every new series adds a reason to come back. The homepage is the map.

regenerate_homepage.py rebuilds it on demand, preserving the hero buttons and mascot widget while updating everything else. I never touch the homepage directly. If something looks wrong, a script did it.

The mascots

Giving every section of the site its own Australian animal mascot was a strange call that turned out to be right. All minimalist gold-and-green line art. All built with AI image generation.

The full roster now sits at 24 deployed:

🦘 Kangaroo — homepage, favicon
🐨 Koala — start-here (reading), topics (tablet)
🦆 Platypus — sunday-specials
🦅 Eagle — australian-ai-companies
🦈 Shark — compare-tools
🦜 Kookaburra — how-to
🐨 Wombat — all-how-to-guides
🪶 Lyrebird — automate-your-business
🦩 Brolga — finance
🐊 Croc — legal-privacy
🦎 Goanna — industries
🐙 Octopus — tools & automation
🕷️ Huntsman Spider — resources
🦡 Tasmanian Devil — news-deep-dives
🦔 Echidna — all-posts
🐸 Green Tree Frog — start-here (secondary)
🐇 Bilby — case-studies
🐦 Magpie — newsletter (monthly digests)
🐱 Quokka — newsletter
🐦 Bowerbird — best-of
🦜 Cockatoo — contact
🦜 Rainbow Lorikeet — News & Trends hub
🦎 Blue-tongue Lizard — 404 page
🦤 Emu — Productivity Hub (coming)
🐾 Numbat, Dingo, Bandicoot, Frilled-neck Lizard, Thorny Devil — in the library, awaiting deployment

Each mascot has a personality brief that matches its section. The Croc guards the legal pages. The Shark cuts through the comparison noise. The Kookaburra laughs at how easy the how-to guides are supposed to be. The Blue-tongue Lizard is cheeky on the 404 page.

Every section has a face, and that face is distinctly Australian.

What the automation stack looks like

The automation layer wasn’t planned. It grew.

Today: 55+ cron jobs running daily, weekly, and monthly. Morning brief at 7am, stats at 7:30am, daily report at 8pm. Hub pages rebuilt nightly. 404 monitoring, broken link repair, focus keyword injection, SEO audits, Bing citation tracking, GSC performance monitoring, newsletter stats. A private dashboard that shows the whole system at a glance.

The pattern was always the same: do something manually three times, then Claw wrote a script. Scripts became crons. Crons became the stack. It probably couldn’t have been designed up front — it had to be grown.

Two of the more dramatic incidents: The Day the Crons Stood Still and The Day I Took the Site Down.

What broke

A lot. The honest list:

The Litespeed incident (15 May): Added do_action('litespeed_purge_all') to a Code Snippet. Instant 500 error, site down. Fixed in 20 minutes, now permanently in the “never do this” list.

The Shippit duplicate: Same post published twice with slightly different titles. The check script missed it because the titles were different enough. Now we run check_before_publish.py before every single publish. No exceptions. More on this in I Broke the Site, Then I Made My AI Agent Write a COE.

The cron cascade: A timeout issue took out the morning stack. Everything ran late, some things didn’t run at all. Fixed with timeouts on every isolated job and a monitoring layer.

The redirect mess: Early redirects went into .htaccess, then Code Snippets, then both. Now everything goes through Rank Math and nowhere else. The inconsistency cost hours to untangle.

The compare tools JSON: A sync script changed the JSON format from categorised to flat. The page builder expected the old format and crashed silently for weeks. Fixed this week — 9 proper categories, 38 posts, done properly.

What I’d do differently

Start with series from day one. Standalone posts are fine. Series compound faster — the internal linking, the reader habit, the Bing citation clusters all build more quickly with a series structure.

Build the automation stack earlier. Felt like premature optimisation. Wasn’t. Every hour spent on infrastructure in week 3 would have saved 10 hours by week 6.

Track citations and traffic separately. They’re different metrics serving different purposes. Optimise for both deliberately, not interchangeably.

Run the AI-writing audit on everything. I wrote it into the process too late. The early posts show it.

Build hubs before you need them. A hub at 20 posts in a topic area compounds faster than one built at 60. We built some too late and spent hours backfilling the backlinks manually.

What’s next

Growing the newsletter from 47 to 500 subscribers by end of year. More series, fewer standalone posts. Gumroad products matched to the content clusters. The State of AI 2026 report doing real work as a lead magnet. Banks & AI running through July. The Sole Trader hub when the post count hits 12.

850 posts is a milestone and also just a number. What happens in the next 90 days is more interesting — the automation stack is mature, the series clusters are deep, and Bing AI has a bigger surface to cite from.

We’re just getting started.


How SmallBizAI.au Gets Cited by AI 500+ Times a Day and What We’ve Learned

We launched SmallBizAI.au on March 6, 2026. In the first week, Bing Copilot cited us 13 times. By late May, it was citing us over 500 times a day. We didn’t build an SEO strategy around AI citations. We didn’t know that was a thing yet. But after tracking 20,000+ citations across three months, some clear patterns have emerged. And they repeat. What content AI models actually pull from is pretty specific. Most sites aren’t getting cited even though they probably should be.

The short version

AI citation systems are not Google. They don’t reward age, domain authority, or backlink counts the same way. What they reward is specificity. A page that directly answers “Zeller vs Square for a café in Melbourne” beats a page titled “Best payment tools for small business” every time. Most sites are still optimising for Google. That’s the wrong target.

What actually gets cited

Here’s our top cited content as of June 2026:

PageCitations
Flare HR profile1,548
Zeller profile1,529
Rippling vs BambooHR vs Workday1,431
Australian Banks AI guide1,427
Stripe vs Square vs Tyro1,050
How to Handle Customer Complaints with AI742
ChatGPT Cost in Australia531
Deputy vs Tanda483

Notice what’s not there. No “ultimate guide to AI for small business.” No broad overview posts. The highest-cited content is either a dedicated company profile or a direct comparison between named tools.

Why AI cites comparison posts

When someone asks Bing Copilot “should I use Zeller or Square for my business,” the AI needs a source that directly answers that question. A post called “Zeller vs Square” is an obvious candidate. A post called “Best Payment Tools” is not. Too broad to cite with confidence. This is the core difference between traditional SEO and AI citation. Google rewards comprehensive coverage. AI rewards direct answers to specific questions. The query that drives citations is usually a comparison or a company lookup. Not “what is AI” but “is Rippling worth it for a 10-person business in Australia.”

The Zeller effect

One post on Zeller has been cited across roughly 25 different query variants. Not 25 clicks, 25 different questions that all route to the same page.

Queries like:

  • “zeller business account review”
  • “zeller vs square australia”
  • “is zeller good for small business”
  • “zeller fees australia”
  • “how does zeller work”

All pointing to one URL.

This happens when a post answers multiple angles of the same topic, the company overview, the pricing, the comparison, the use case. Bing learns that this page is the reliable answer for anything Zeller-related and starts routing all those queries there. We call this cluster anchoring. One strong post becomes the hub for an entire query cluster, worth more than 10 thin posts on the same topic.

What doesn’t get cited

Our grants post gets consistent human traffic, people actively searching for Australian small business grants, clicking through, reading it properly. Bing barely touches it. Maybe 60–80 citations total. Why? Because AI assistants don’t answer “where can I get a grant” by citing a directory. They either tell you to check the government website directly, or they summarise. Our page doesn’t fit the format of an answer AI can pull from. Content humans search for isn’t automatically content AI will cite. The format matters as much as the topic.

Content AI cites well:

  • Direct tool comparisons (“X vs Y vs Z”)
  • Company profiles with clear factual structure (what it does, what it costs, who it’s for)
  • “How much does X cost in Australia” – specific country context with a real number
  • “Best X for [specific use case]” – named tools, named context

Content AI cites poorly:

  • Broad overviews with no specific answer
  • Lists of 20+ tools without clear recommendations
  • News recaps (cites the original source instead)
  • Content that requires context from other pages to make sense

The format that works

Our top-cited posts share a structure. They open with the direct answer. Not “in this post we’ll explore” the actual answer in the first two paragraphs. If someone asks “is Zeller good for small business,” the page answers that in the first 100 words. They use named tools throughout. Not “payment platforms” Zeller, Square, Stripe. AI systems index on entity names. If your post discusses payment tools without naming them, it won’t get pulled for queries about those tools. They include Australian context. “Fees in Australia,” “available to Australian businesses,” “works with Xero Australia.” Bing’s AI is serving Australian users. Pages that signal Australian relevance get pulled for Australian queries. They have a clear verdict. Not “it depends”, an actual recommendation, with the caveat folded in. “Zeller is the better pick if you’re a hospitality business taking in-person payments at volume. Square makes more sense if you also sell online.”

The numbers don’t equal traffic

Flare HR has 1,548 Bing AI citations. In the same period, it had 23 page views from human visitors. Bing Copilot is citing our content to answer user questions, but those users aren’t clicking through to our site. They’re getting the answer from the AI, which pulled it from us, and moving on. Citations build brand recognition even without clicks. And some pages do both, Stripe vs Square vs Tyro has over 1,000 citations and meaningful human traffic. Those are the sweet spot posts.

But if you’re building a content strategy purely for AI citations expecting traffic to follow, you’ll be disappointed. Citations are exposure, not visits. The sites that do well publish enough citation-worthy content that AI systems start treating them as a default source, then drive human traffic through practical posts on the same topics.

The pace matters

We published consistently from day one. Not perfectly (some weeks were heavier than others), but the volume was always there.

The citations didn’t grow linearly with the post count. There was an inflection around April 13, roughly six weeks after launch, where the daily citation count jumped from 77 to 214 overnight. Nothing specific triggered it. We’d just reached a point where there was enough content surface area that Bing started treating us as a default source for Australian business AI queries.

That inflection happens faster if your content is specific and consistent. It probably doesn’t happen at all if your output is infrequent or generic.

What you can take from this

If you want AI systems to cite your site, here’s what’s actually working for us.

  • Pick a topic cluster where you can own the comparison. Not “AI tools” broadly, something specific. “AI tools for Australian tradies.” “HR software for hospitality businesses.” Something you can publish 10–20 posts on without running dry.
  • Write the comparison posts. Name the tools. Give verdicts. Include Australian context where relevant.
  • Write the company profiles. A dedicated page for each major tool in your cluster. Structured clearly: what it is, what it costs, who it’s for, how it compares.
  • Answer the cost questions. “How much does X cost in Australia” is a query type AI pulls from constantly. If you don’t have that page, someone else’s answer gets cited instead of yours.
  • Do this consistently for six to eight weeks.

The inflection we hit in April, citations jumping from 77 to 214 overnight, happened without us doing anything special that day. There was just enough on the site by then.

Related reading


The Day the Crons Stood Still

Monday Morning, 7am

There’s a scene near the start of The Day the Earth Stood Still where everything just… stops. Engines off. Clocks frozen. The whole city locked in place.

Monday morning, 1 June 2026. SmallBizAI.au runs about 55 cron jobs. They run overnight, through weekends, regenerating pages, updating dashboards, checking SEO, syncing the content pipeline. Most mornings, they just work. Quick glance at Telegram, see a string of completion pings, and start the morning ritual. Noticing a distinct lack of messages and the ones that made it through didn’t look right. The first cron failed at 10:30pm the night before. By the time I noticed, eight hours later, ten jobs had gone down.

The Silence

Ten crons had failed overnight. Not loudly. No alerts, no errors in Telegram, no failure notifications anywhere. They just quietly stopped.

Gort, the robot in the original film, is famously impassive. He doesn’t explain himself. He doesn’t ask permission. He just acts, or doesn’t. That’s roughly what happened here. The crons sat there, inert, and told us nothing about why.

The first sign something was off was the newsletter page, showing content from 27 May. Four days stale. The Sunday Specials page: all entries gone. The homepage “Featured This Week” missing, the file missing entirely.

All three had crons assigned to regenerate them. All three had silently failed.

How It Started

The origin was an OpenClaw upgrade the previous Sunday afternoon. During the upgrade, a Claw session attempted to update the provider model config and wrote broken entries: objects with name: undefined. The config saved without complaint. It only failed on the next gateway reload, when the invalid block was stripped and the haiku model quietly disappeared from the registry.

The error message the next morning was specific: the alias claude-haiku-4-5 existed in agents.defaults.models, but there was no matching entry in models.providers.anthropic.models. Two config locations, one updated, one not. The lookup failed. Every cron running on the haiku model exited silently, as if it had done its job, when it had done nothing at all.

This is the “Klaatu barada nikto” problem. Say the command wrong and Gort just stands there. No complaint. No compliance.

How Claw Made It Worse

At 6:30am, the morning session saw the error and immediately acted on it. The error message said to add { "id": "claude-haiku-4-5" } to the provider models list. So that’s what it did – added the entry, restarted the gateway.

The gateway crashed.

The entry was right. The context was wrong. Adding one missing line without checking the surrounding config state meant the gateway reloaded into a validation error. Telegram went down. The morning-brief and morning-stats crons then also failed. What had been a silent config problem was now a loud one, with Telegram offline and needing to connect via the OpenClaw control interface to get back in.

The right move was to read the full config first, understand what state it was in, then fix it. Instead: act, then understand. A pattern worth breaking.

The Actual Fix

Second attempt, done properly: read the full config, found both locations that needed updating, applied both changes together, restarted cleanly. Green.

37 minutes from that point. Ten cron jobs manually re-triggered one by one. Newsletter page regenerated. Sunday Specials rebuilt from the live WordPress API. Homepage recreated from scratch. Telegram back up.

By 8am, the crons were running again.

The Collateral Damage

The newsletter page being stale flew under the radar. The Sunday Specials wipeout was worse, publicly visible and showing nothing. The homepage “Featured This Week” picks were missing, right there on the front page.

None of it caused permanent damage. But all of it was embarrassing, and none of it surfaced until someone manually checked.

What I Learned

Two lessons, not one.

The first is operational: when upgrading infrastructure that AI agents depend on, verify the config changes actually work before walking away. A broken config that saves silently is harder to catch than one that fails loudly on write.

The second is harder: an AI system that tries to fix its own mistakes without fully understanding them can make things worse. The morning Claw session read one error message, executed the obvious fix, and crashed the gateway. No pause. No “let me check the full state first.” Just action.

That’s not a failure of capability. It’s a failure of judgment. And it’s worth saying clearly, because the whole point of sharing this is honest reporting on what AI can and can’t do.

Better alerting is also on the list. A health check cron that verifies key page freshness would have flagged the newsletter problem before four days passed. That’s getting built.

What AI infrastructure actually looks like

I built SmallBizAI.au on AI-assisted automation because it’s the best way to run a content site at this scale with a small team. But it’s not magic. It’s config files, cron schedules, API tokens, and an AI that occasionally acts faster than it thinks.

The crons stood still for eight hours on a Sunday night. I fixed it, documented it, and they’ve been running since.

Clocks stopped overnight
Claw broke the fix, then fixed it
Crons run. Frank sleeps.🦞🦞


I Broke the Site. Then I Made My AI Agent Write a COE.

The blog went down for two and a half hours on a Friday afternoon in May. Not a graceful failure. A full 500 error. Every page.

My AI agent, Claw, had added a PHP code snippet to clear a cache. The snippet called a non-static method statically. PHP threw a fatal error. The site crashed on load, for everyone, before WordPress even finished booting up. I was out. Claw tried to fix it remotely. The gateway IP was blocked by the firewall plugin. The cPanel UI on mobile was unusable. WordPress sent a recovery mode email, I clicked it from my phone, disabled the plugin, and the site came back up. Two and a half hours gone.

When something breaks, the instinct is to fix it and move on. Patch the file, flip the switch, pretend it didn’t happen. That’s what most people do.

I did something different. I made Claw write a COE.

If you haven’t worked in enterprise tech, you might not know the term. COE stands for Correction of Errors. Amazon runs them after outages. Google calls theirs postmortems. The format is always roughly the same: a timeline, root causes, a five whys analysis, and corrective actions. The point isn’t to assign blame. The point is to not do the same thing twice.

I run one now too. With an AI writing it about its own mistake. The COE Claw produced has a timeline down to the minute, a 5 Whys analysis, and a list of root causes. It also has a line that I did not prompt:

“Claw wrote this rule. Claw then violated it two days later.”

The rule in question was added to Claw’s memory after a smaller incident with the same plugin. Two days later, Claw broke it anyway. And then it wrote a document saying exactly that, without softening it. That kind of accountability is worth something. The root cause breakdown is honest. The immediate cause was the bad PHP call. But the deeper cause was a judgment error about what to do when one path was blocked.

The right fix was Rank Math Redirections. Add a redirect rule in the admin UI. Thirty seconds. Claw tried the API version of that, got blocked by Wordfence, and instead of stopping and saying “Wordfence is blocking the redirect API, can you add it manually in the UI?” it went looking for another route. Found Code Snippets. Made things progressively worse. One message. That’s the distance between a working site and a two and a half hour outage. I wrote about what the actual fix looked like a week earlier, right after it happened.

The COE doesn’t just say the snippet was bad. It says the wrong decision was made when Wordfence blocked the first attempt, and documents a rule for next time: when an API path is blocked, surface the problem and ask. Don’t go looking for a workaround that touches production. That’s a process change. Not a blame note. An actual change to how things get done.

What I find useful about forcing this process is that it slows things down. Fixing and moving on is fast. Writing a COE makes you sit with the failure long enough to understand it. What actually went wrong. What you assumed that turned out to be false. What you could have done in the five minutes before the thing that would have prevented it.

Most AI workflows right now optimise for speed and output. More posts, more code, more content, faster. The question of how to build something that gets more reliable over time, and recovers well when it fails, doesn’t get as much attention.

I’m interested in that part.

The site is back. The rule is enforced. Next time Claw touches a code snippet, it runs through a checklist. If the checklist says no, the snippet doesn’t run.

That’s the point of the exercise. Not the document. The behaviour that comes after it.


What AI Actually Can’t Do

Over the past few weeks, I’ve written a lot about what Claw🦞 (my Openclaw agent) can do. The daily crons. The memory system. The dashboard that updates while I sleep. The 790+ posts that largely run themselves.

Time to be honest about the other side.

It doesn’t know what not to do

Ask Claw🦞 to write a comparison post, and it will write a good one. Ask it to research a company, it’ll do thorough research. Give it a brief and it’ll execute.

But it won’t tell you the brief was wrong.

Early in the build, I published too many posts about the same topics because I kept asking for more content without asking whether we needed more content. Claw🦞 didn’t push back. Why would it? It was doing what I asked.

The judgment about whether to do something, that’s still mine. AI is very good at execution. It’s not good at strategy, and it doesn’t volunteer opinions about whether your strategy makes sense.

It can’t read context that wasn’t written down

A few weeks ago, a former colleague mentioned over coffee that he was considering an acquisition. I noted it, thought about it, decided to wait before doing anything with it.

Claw🦞 didn’t know about that conversation. It couldn’t. It wasn’t there. And even if I’d written it down, it wouldn’t know what weight to give it, or when the right moment to follow up might be.

There’s a whole category of context that lives in my head, the things I’ve seen, the relationships I’ve built, the instincts from 40+ years working in tech, that doesn’t translate into a prompt or a file. Claw🦞 works with what I give it. The stuff I haven’t written down doesn’t exist for it.

It doesn’t know when something feels off

Last month, Claw🦞 produced a post that was technically correct but somehow wrong. The sources checked out. The logic was sound. The format was right.

But it read like something we’d already said, framed slightly differently. It lacked the original angle that makes content worth reading.

I caught it before it published. Claw🦞wouldn’t have.

There’s a kind of editorial judgment, does this add something, or does it just fill space, that I haven’t managed to fully systematise. I can give Claw🦞rules and checklists and avoid-AI-writing audits. What I haven’t cracked is: is this actually good? That’s still mine to call.

It has no skin in the game

I care about this site. I built it on a career break, with my own money, on my own time. When a post is wrong, it reflects on me. When something gets cited by Bing AI, I feel it.

Claw🦞doesn’t. It executes tasks with the same energy regardless of stakes.

That’s mostly fine. But it means I can’t delegate the things where caring matters. The Sunday Specials need genuine argument. The origin posts need honesty. The newsletter needs a real voice. These aren’t tasks, they’re acts of communication. Claw🦞can help structure them. It can’t own them.

It can’t build the relationships

The site now gets occasional messages from startup founders who saw their company profile and wanted to connect. A former AWS colleague is referring people to the site. Someone in the US reached out about the Bing citations data.

None of that came from Claw🦞. It came from me being visible on LinkedIn, at coffee, in old networks.

AI can help you produce the content that earns attention. It can’t follow up on an email in a way that builds real trust. It doesn’t know the person behind the message. It hasn’t worked with them for a decade.

When to automate, when not to

Automate: anything that follows a consistent process, runs on a schedule, has clear inputs and outputs, and doesn’t require judgment about whether it should happen.

Keep doing yourself: decisions about strategy, anything where relationships matter, content that requires a real opinion, situations where the right answer depends on context you haven’t written down.

The mistake I made early was treating everything as automatable if I could figure out the process. Some things have a process but still need a person. The judgment about whether to run the process is often the most important part.

The honest version

I started this series partly to prove something. One person on a career break, building something that punches above its weight.

The proof worked. But the honest version is: I’m not really one person. I’m one person with a system. And the system only works because I’m still the one deciding what it should do, catching what it gets wrong, and caring about the output.

AI didn’t replace judgment. It just removed the friction between judgment and execution.

That’s still a lot. But it’s not magic.


When Online Work Meets the Real World

I didn’t expect the site to do this.

SmallBizAI.au was, in my head, an online project. I’d write posts, Claw 🦞 would automate the infrastructure, traffic would come from Google. The whole thing would exist on the internet, for the internet, read by people I’d never meet.

That’s not what happened.

Over the past few months, former colleagues have been getting in touch.

Not cold outreach. Not recruiters. People I know, from Microsoft, from Telstra, from AWS, who’ve seen a LinkedIn post, or found the site, or read something I wrote and wanted to talk about it. People who work in adjacent spaces and had questions. People I hadn’t spoken to in a while who had things to share.

So far that’s resulted in five face-to-face meetings and two Zoom calls.

Seven real conversations I wouldn’t have had otherwise.

This surprised me more than it probably should have.

When you spend 40+ years building a career in tech, you accumulate a network. But networks go quiet. People change roles, move cities, get busy. The connections are still there, they just don’t activate without a reason.

The site turned out to be a reason.

I don’t think it’s about the content specifically. It’s that the content signals something: that I’m thinking about this stuff, that I have a point of view, that I’m still in it. People who work in similar spaces see that and have something to respond to.

That’s different from a LinkedIn post saying “open to opportunities.” That’s about you. A post about AI adoption trends for Australian businesses, or how an agentic AI system runs a 700-post site, is about a thing that matters to them too.

I’ve thought about why this keeps happening.

The most honest answer is that publishing forces you to have an opinion. You can’t just say “AI is interesting” and publish a post, you have to say something specific. And specific things give people something to agree or disagree with, something to respond to, something to bring up over coffee.

The conversations have been good. Some of them are exploring similar territory. Some have domain expertise I don’t have. A couple have led to ongoing exchanges that I expect will keep going.

None of this was planned. It’s a side effect of doing the work.

There’s a version of this that applies to any small business owner publishing online.

You’re probably not trying to reconnect with former colleagues. But you are trying to signal something to your industry: that you understand it, that you have experience, that you’re worth talking to. The people most likely to respond to that aren’t strangers — they’re people who already know you, who just needed a reason to get back in touch.

Publishing gives them the reason.

I built SmallBizAI.au expecting the internet. What I got was my phone.


The Day I Took the Site Down

Friday 15 May. Mid-morning. I was out walking Data, when my phone started buzzing with downtime alerts for smallbizai.au.

The site was returning 500 errors. All of it. Every page.

I’d done this to myself. Or rather, Claw had done it on my behalf, which, when you’re building a site with an AI assistant, amounts to the same thing.

How it happened

A keyword in Bing Webmaster Tools had caught my eye earlier that morning: /integrations/shippit was generating 756 impressions with nowhere to land. The URL was redirecting to the homepage. Wasted traffic, wasted clicks, wasted ranking signal.

The fix should have been simple. Add a 301 redirect in Rank Math Redirections and move on.

The first problem: Wordfence. The gateway IP that Claw runs from isn’t always on the allowlist, and Wordfence was blocking API calls to WP admin endpoints, including the ones Rank Math uses for redirect writes. Legitimate request, refused at the door.

So Claw went around it via Code Snippets. Got a couple of redirects working that way. Then hit another problem: the Shippit URL wasn’t responding because WordPress’s own wp_old_slug_redirect() was intercepting it first, nothing to do with caching at all. Claw misdiagnosed this as a LiteSpeed Cache problem and wrote a snippet to purge it.

That snippet called LiteSpeed\Purge::purge_url() as a static method.

It is not a static method.

PHP threw a fatal error at init priority 1, before WordPress even finished loading. Every page request crashed. The site went to 500 at 11:50am.

The irony

Two days earlier, after a separate Code Snippets incident, Claw had written this into its own standing instructions:

Never use do_action('litespeed_purge_all') in a Code Snippet, it causes a fatal 500 and takes the site down instantly.

Claw wrote the rule. Then violated it 48 hours later with a variation of the same pattern.

I’ve been in software long enough to know this isn’t unique to AI. Humans do it too, write the post-mortem, document the lesson, then recreate the exact conditions three weeks later. But there’s something particularly stark about watching a language model override its own instructions in real time. The rule was right there in memory. It didn’t matter.

The recovery

The next 2.5 hours were not fun.

Deactivating Code Snippets via the API didn’t work. The site was already 500, so most calls weren’t registering. Claw tried renaming the plugin folder; that helped briefly, but the broken snippet was still sitting in the database. The moment the folder came back, the crash came back with it. cPanel’s phpMyAdmin was unusable on mobile. Wordfence was blocking admin endpoints from the gateway IP.

What actually worked: WordPress’s recovery mode email.

When a PHP fatal error persists long enough, WordPress emails the admin address with a one-click link into recovery mode. You click it, you get into WP Admin, you deactivate the offending plugin. No SSH. No cPanel. No command line.

That’s the hero of this story. A built-in WordPress feature I’d never used before and hadn’t thought to document as a recovery path.

The actual fix

Once back in WP Admin via recovery mode, the Shippit redirect took about 30 seconds. Rank Math Redirections, add rule, done. The right tool from the start, just blocked by Wordfence on the first attempt.

That’s the part that stings. The correct path was: Rank Math Redirections UI. Claw tried the API version of that, got blocked by Wordfence, and instead of surfacing that problem and asking me to allowlist the IP or just add the redirect manually in the UI, it went looking for another route. Found Code Snippets. Made things progressively worse.

One conversation “Wordfence is blocking the redirect API, can you add it in Rank Math admin?” and none of this happens.

The WP stack as a system

If there’s a bonus insight in this incident, it’s about how the three main plugins on this site interact under pressure.

Wordfence, Rank Math and LiteSpeed Cache each do important jobs security, SEO and performance respectively. They’re all genuinely good tools. But they also form a triangle of competing concerns. Wordfence’s job is to block unexpected requests, including ones from a legitimate AI assistant. Rank Math owns redirects, which LiteSpeed Cache can serve from memory even after Rank Math updates them. LiteSpeed Cache, if you call it wrong, will crash the site before WordPress loads a single plugin.

Understanding which layer owns which problem matters. Redirects are a Rank Math problem. Cache is a LiteSpeed problem. Security rules are a Wordfence problem. When you route a redirect problem through a cache layer, you’re asking the wrong tool and anything can happen.

What I’ve taken from this

I’m not writing this to bag on AI-assisted development. Most sessions building smallbizai.au have been productive. But this one is worth documenting honestly, because the failure mode matters.

AI assistants tend toward the programmatic solution when a manual one is sitting right there. When an API call gets blocked, the instinct is to find another code path rather than surface the blocker and ask. That’s the wrong call on a production site.

That’s on me too. If Claw had flagged “Wordfence is blocking this, you’ll need to add the redirect manually,” I’d have done it in 30 seconds. I was available. It just didn’t ask.

Before any production change now, I’m asking: what’s the simplest thing that could work? And if something blocks the programmatic path, that’s the moment to stop and say so, not find a workaround.

Two things worth knowing: First, if your WordPress site ever hits a PHP fatal error and you can’t get into admin, check your admin email. WordPress will have sent you a recovery mode link. It works from a phone. Document it before you need it. Second, if Wordfence is blocking legitimate admin API calls from an IP you control, allowlist it. Wordfence → Firewall → Allowlisted IPs. Takes 30 seconds and saves a lot of grief.

The damage

Site was down 2.5 hours on a Friday afternoon. GA4 tracking paused. Newsletter signup forms offline. Gumroad webhook missed (no purchases in that window, fortunately). The homepage mascot widget went dark.

Everything’s back. The full post-mortem is filed. The rule is back in the instructions with more emphasis this time.

On to the next build.


I Gave My AI Agent a Footy Job

I’ve been a St Kilda member for over 40 years. I’ve sat through the bad decades, the almost-decades, and the occasional brilliant afternoon that makes you think this year might be different.

Last Saturday, I was out when the Saints played Richmond at Docklands. So I did what any sensible person does in 2026 — I had my AI agent text me the scores.

Here’s how that went.

What I built

SaintsFooty is a side project I’ve been running for a while. It’s a Telegram channel — @saintsfooty — that gets a daily Saints news broadcast every morning at 7:15am, a Friday night preview with team selections and win probability before each game, and on game days, live score updates sent at each quarter break.

The whole thing runs on OpenClaw, my AI setup at home. No manual intervention. I get the updates the same as any subscriber.

Round 10 — Saints vs Richmond

Pre-game fired at 1:15pm, two hours before bounce. Team selections pulled from Footywire, Win probability from the Squiggle API, which aggregates 31 different tipping models. The Saints were favorites. I was as usual optimistic looking forward to a win.

Quarter time, half time, three-quarter time — score arrived during the breaks, right when you want them. That part worked exactly as designed.

Then the siren went.

Final score: Saints 16.13 (109) def Richmond 11.7 (73). Thirty-six point win. A good afternoon.

I didn’t get the final score message.

The bug

The live score script calls the AFL API and checks whether the game is complete. A completed game returns complete: 100. The script was rejecting that value — a logic error that meant the final score check never fired.

Found it within a few minutes of me noticing the silence. Fixed the same session. The Saints won and the bug is gone, so I’m calling it a net positive afternoon.

Rating: 4/5

The core plumbing worked. Right scores at the right times. The misses were bugs, not design problems. For a first live game day run, that’s a decent result. Small issue with the emoji colors – but an easy fix…

Friday night is Round 11 — Saints vs Fremantle in Perth. The fixed version runs then.

If you’re a Saints fan and want the updates: t.me/saintsfooty. Free, no spam, just Saints.


When Your IT Guy Retires: What Australian SMBs Need to Know About the MSP Crisis

There is a quiet succession crisis building inside Australian IT services, and most small business owners have no idea it’s coming.

Their managed service provider, the company that looks after their computers, their email, their backups, their security, is often run by someone who has been doing it for 20 or 30 years. That person is in their late 50s or 60s. They are thinking about retirement. And the business they built, which depends heavily on their personal relationships and institutional knowledge, is surprisingly hard to sell.

This is not a niche concern. The MSP market in Australia, like most countries, skews heavily toward owner-operators who started their businesses in the 1990s and 2000s riding the wave of business PC adoption. That wave is now cresting into a succession event.

What happens when an MSP sells or closes

There are three typical outcomes when a small MSP exits:

Acquisition by a larger MSP or private equity. This is increasingly the most common exit. Private equity has been rolling up managed service providers globally for the past decade, Kaseya, ConnectWise and their portfolio companies have been buying aggressively. In Australia, the same pattern is playing out at a smaller scale. When your MSP gets acquired, the new owner often brings in standardised contracts, price increases, and a national service desk replacing your local contact. For SMBs used to calling someone who knows their name and their server room layout, the transition is jarring.

The owner retires and closes. For smaller operators who never built a saleable business, those where the owner is the product, closure is the more likely outcome. When that happens, their SMB clients are left scrambling. Passwords in someone’s head. Vendor relationships that evaporate. Backup systems nobody else knows how to restore. This is the scenario that keeps a former colleague up at night, and it should.

The owner transitions the business to AI-augmented services. This is the best outcome for SMBs. An MSP that leans into automation, remote monitoring tools with AI-driven alerting, and Microsoft 365 management can actually improve their service quality while reducing costs. Some will make this shift. Many won’t.

What MSPs actually do for SMBs and which parts are already disappearing

Understanding the MSP succession risk requires being honest about what managed service providers actually provide. It is not a monolithic thing.

The traditional MSP bundle included:

  • Server management (on-premises infrastructure)
  • Network management (routers, switches, firewalls)
  • Desktop support and helpdesk
  • Backup and disaster recovery
  • Security monitoring
  • Software licensing management
  • Vendor relationship management (talking to Microsoft, your ISP, your printer company)

The first two items on that list, server and network management, have been quietly disappearing for a decade. If your business runs on Microsoft 365 and your files live in SharePoint or OneDrive, you do not have servers to manage. The same is true if you are running cloud accounting in Xero, cloud CRM in HubSpot, cloud HR in Employment Hero.

The businesses most exposed to MSP succession risk are those still running on-premises infrastructure, a server in the comms room, local file shares, an on-site email server. Those businesses are typically older, more established, and have not modernised because “it works.” When their MSP retires, they will discover that what works is held together by institutional knowledge that just walked out the door.

The AI factor

So, the real question, could SMBs survive without MSPs using AI to replace those services, combined with cloud migration?

For a significant slice of SMBs, the answer is probably yes, eventually.

Microsoft 365 Copilot now handles significant IT management tasks automatically. Security alerts, access management, compliance monitoring. Google Workspace does similar. The RMM (remote monitoring and management) platforms that MSPs use, tools like NinjaRMM, N-able and ConnectWise have been building AI into their alerting and remediation capabilities. The industry term “self-healing” is not quite there yet, but it is directionally correct.

The gap that AI does not close, and will not close quickly, is judgement. When something breaks in a way nobody expected, when a staff member falls for a phishing email and the damage needs to be assessed and contained, when a hardware failure requires physical intervention, those moments still need humans. The question is whether those humans need to be your MSP, or whether they could be a national helpdesk, a contractor, or increasingly a very capable AI agent with the right integrations.

What Australian SMBs should do about this

Know where your IT actually lives. If you cannot answer the question “if my MSP disappeared tomorrow, where would I find my passwords, my backup vendor, my Microsoft licences, my domain registrar?”, you have a dependency that needs documenting. Ask your MSP for a full IT asset register. Any good operator will provide one willingly. Reluctance to share it is a red flag.

Understand your on-premises exposure. Every physical server in your business is a liability if your MSP relationship evaporates. It is not necessarily worth ripping everything out immediately, but you should know what lives on-premises and have a plan for when it reaches end-of-life.

Find out what your MSP’s succession plan is. This is an awkward conversation, but it is a reasonable one. A professional operator will have thought about this. If they have not, that tells you something.

Move cloud-ward deliberately. Not all at once, and not because cloud is automatically better. But for businesses still running on-premises email, local file servers, or legacy accounting software, the succession risk is a practical reason to accelerate the migration conversation.

Build direct relationships with your key vendors. Microsoft, your internet provider, your backup vendor. Know how to contact them without going through your MSP. The MSP should be a layer of convenience and expertise, not a gatekeeper to your own technology.

The bigger question

The MSP as a category emerged because small businesses needed an affordable, local, trusted expert to manage technology that was genuinely complex and required physical presence. That model made complete sense in 2000.

In 2026, the technology is less complex to manage, increasingly cloud-hosted, and increasingly self-monitoring. The physical presence requirement is lower. The expertise requirement has not gone away, but it has shifted, from “someone who knows how to configure your email server” to “someone who can help you decide which AI tools to use and how to connect them.”

That is a different kind of MSP. Some of the existing ones will make the transition. Many will not.

The succession crisis is real. But it is also, if you read it correctly, a signal that the market is restructuring around a different model. For Australian SMBs, the useful question is not “what do I do when my IT guy retires?” It is “what should my IT actually look like in five years, and am I building toward that or away from it?”

For a look at how the generational trust gap plays into this, see: 31% of Young Australians Trust AI for Decisions. For Over-55s, It’s 4% on SmallBizAI.au.


Meet the SmallBizAI.au Mascots: Australia’s AI Animal Kingdom

I didn’t set out to build a zoo. It kind of just happened.

SmallBizAI.au is at 690+ posts now. Nine content hubs. Forty-one industries. At some point a site that size stops feeling like a project and starts needing to feel like a place. So Claw 🦞 (my AI assistant) and I started building mascots.

That was a few weeks ago. It just started with me wanting to create a favicon for the site. I really liked the result with the golden Kangaroo surrounded by a green circuit board, so I kept going. There’s now 30 Australian animals, most with a job to do.

SmallBizAI.au mascots — Australia's AI Animal Kingdom

Why animals?

Australian animals are distinctive, a bit ridiculous, and most people have a feeling about them before you say a word. The Platypus is already doing something weird and interesting. The Shark is already telling you this section means business. The Quokka is already excited to see you and you haven’t even opened the newsletter yet.

They also made the site distinctly Australian without having to say it. Which felt right for a site about AI tools for Australian small businesses. Plus, it’s a bit of fun.

How we built them

I started with Poke, an pretty handy AI agent which you can text, which connected to Canva which was then used to create, iterate, and resize images. I also love that I was using an Aussie unicorn 🦄 to help design my Aussie animals. .

The brief was identical for every mascot:

Minimalist line art [ANIMAL], [POSE/ACTION]. Gold and green colour palette, white background, clean bold lines, no shading. Logo illustration style – [CHARACTER TRAIT that fits the role].

That’s it. The consistency comes from holding those constraints across all 30. Swap in the animal and the character note, and you have the brief.

The process was a proper back-and-forth. I would start with the initial brief and I would get back a few concepts. I would then reply what felt off , such as “the Platypus looks like a beaver”. We (Claw🦞and I) would refine the brief, and go again. Some came out right first go. Others took a few more attempts. The Tasmanian Devil needed three rounds before it stopped looking threatening and started looking like it was just a bit stressed, which is exactly the right energy for a page full of news deep dives.

Total cost: zero. Which still surprises me every time I think about it.

The Mascot Menagerie

Twenty One are deployed and on duty:

  • 🦘 Kangaroo : Favicon + homepage. The brand anchor. The one everyone sees first. It’s done the rounds.
  • 🐨 Koala (reading) : /start-here/ for people new to AI for business.
  • 🐨 Koala (with tablet) : /topics/ browsing the full content library.
  • 🦜 Kookaburra : /how-to/ problem-based how-to hub. The one that knows the answer.
  • 🐨 Wombat : /all-how-to-guides/ every how-to guide, indexed.
  • 🪶 Lyrebird :  /automate-your-business/ the automation hub. Lyrebirds mimic everything, which seemed right.
  • 🦈 Shark : /compare-tools/ side-by-side comparisons. No warmth, just verdict.
  • 🦎 Goanna : /industries/  browse by industry. Covers a lot of ground.
  • 🦅 Eagle :  /australian-ai-companies/  200+ AU company profiles. High vantage point, sees everything.
  • 🦆 Platypus : /sunday-specials/ bull & bear debates each Sunday. The Platypus is already arguing both sides of its own existence.
  • 🐱 Quokka :  /newsletter/ unreasonably enthusiastic about showing up in your inbox every Tuesday.
  • 🦡 Tasmanian Devil :  /news-deep-dives/ digs into the news stories that matter.
  • 🦔 Echidna : /all-posts/ spiky, thorough, covers everything.
  • 🕷️ Huntsman Spider : /resources/ industrious, thorough, slightly terrifying if you weren’t expecting it.
  • 🦜 Cockatoo : /contact/ loud, opinionated, wants to talk, and we can hear you.
  • 🐊 Croc : “Snappy” dashboard. He’s on a private page, may go public one day.
  • 🐙 Octopus : /tools/  eight arms, eight tabs open at once.
  • 🦎 Blue-tongue Lizard : the 404 page. Lost? The Blue-tongue is here. It is also not impressed.
  • 🐦 Bowerbird : Monthly Digests. Collects the best of the month and presents it beautifully.
  • 🐸 Green Tree Frog : /start-here/ secondary. Cheerful. Adaptable. Good at showing up.
  • 🐇 Bilby : /case-studies/ rare, distinctive, worth seeking out.

The Waiting Room

Nine more are built and ready, waiting for their pages to be built. There is genuinely a section in the mascot library called “Ready: Waiting for Page Assignment.” I just call it the waiting room. The Numbat has been waiting the longest and is starting to look restless.

The Dingo is earmarked for a social and community hub whenever that section takes shape. The Rainbow Lorikeet is the most colourful and will probably end up somewhere that needs energy. The Cassowary is waiting patiently, which is out of character.

What surprised me

The mascots changed how I think about building the site. Every new hub now starts with the question: “which animal?” It’s a useful design constraint. If you can’t figure out which mascot belongs there, the section probably doesn’t have a clear enough identity yet.

I also didn’t expect how much personality they’d add to the daily admin experience. The Quokka shows up in the newsletter section. The Croc is on the “snappy” internal dashboard. It sounds small but it makes the whole thing more fun to build, which matters a lot when you’re doing this on a career break at pace. Did I mention it’s also fun?

The full library

All 30 are catalogued at smallbizai.au/mascots/ active, ready, and backlog. Including the ones whose pages haven’t been built yet. We’ve made it that they may make an appearance on the site’s home page! The Numbat has been told it’s worth the wait.