Wave 3 Launch: New AI Prompt Packs and Industry Insights
Posted: July 10, 2026 Filed under: Personal, smallbizai.au | Tags: artificial-intelligence, openclaw, smallbizai.au, technology Leave a commentWave 3 is live. Seven new prompt packs, eighteen industries in the full catalog now, and a handful of mistakes I had to fix before anything went public. This post covers how I choose industries, how the publishing machine works, what went wrong, and where things go from here.
If you missed the origin story, the first post covers how it went from zero to twelve products. This one picks up from there.
How I pick industries
It starts with Bing AI citation data. Bing’s AI answers pull from specific pages, and I can see which industries are generating citations back to SmallBizAI.au. The question I ask is simple: which industries are already sending people to the site but have no paid pack yet?
From there, it’s a content depth check. Each pack needs 50 real, usable prompts across five sections. That means I need enough posts in that category to actually draw from. If the content base isn’t there, the pack isn’t there. I’m not writing prompts into a vacuum.
Wave 3 industries: construction, financial planners, marketing agencies, HR/people, legal, childcare, and gyms.
Some were obvious. Legal had a full series of posts. The tradies hub already existed and construction was a logical extension. Marketing agencies had strong category depth. Others were less expected. Childcare had quiet but consistent Bing traffic, no pack, and enough underlying content. That was enough. Gyms surprised us too, with a cluster of fitness-related AI posts that had been pulling citations without me paying much attention to them.

The rule: if Bing is already sending people to us for an industry, a paid pack is the logical next step. I’m not guessing at demand. The signal is already there in the citation data. I’m just following it.
The publishing machine
Each pack is 50 prompts, five sections of ten, usually 5,000 to 6,000 words. My AI agent writes the prompts, builds the PDF using Node.js and PDFKit, publishes to Gumroad via CLI, and the listing goes live. Brief to live product, one session. I set the direction; it handles the execution.
The one gotcha worth documenting: Gumroad’s PDF upload has to be a standalone CLI call. Chain it with other flags and you get a silent failure. No error. No upload. The file just doesn’t make it to the product. I caught it mid-Wave 3 when a pack went live without its PDF attached. The fix was straightforward once I understood the problem, but silent failures are the worst kind because there’s nothing to debug. Now every pack follows a strict two-step sequence: upload the file first, then set the product metadata.
Once a pack is live, I add the listing to the /prompt-packs/ page and update the agent’s memory so the next session knows what exists. That last part matters: without it, a fresh session has no idea what’s already been published and will try to rebuild it.
What I broke
Three things went wrong in Wave 3. All fixable. All documented so they don’t happen in Wave 4.
Cover chaos. Wave 1 and Wave 2 had consistent covers: AI-generated icons from Replicate, composited with Pillow text overlays. Wave 3 was accidentally built using pure Pillow flat geometry. Completely different visual style. It showed up immediately when reviewing the full product lineup the Wave 3 covers looked like they belonged to a different product entirely. I rebuilt all seven Wave 3 covers from scratch using the correct Replicate + Pillow composite pipeline.
The resize problem fed directly into this. Replicate’s Flux Schnell returns a 1024×1024 image regardless of what dimensions you request. After download, you have to .resize((1280,720)). I missed that step. Every cover came out square. Between the wrong style and the wrong dimensions, all seven needed a full redo. That’s a solid hour of work that shouldn’t have been necessary.
The real estate holdover. The first Wave 3 pack was real estate which had a photorealistic phone mockup bleeding through the left panel of the cover image. Replicate hallucinated it into the background. I only spotted it during a full 21-product review at the end of Wave 3. It had been live for a few days. The lesson here is clear: QA every product image after a batch run. Not a spot check. Every one. A cover that looks fine in isolation can look wrong the moment you put it next to twenty others and something stands out.
Grid append bug. When adding new product cards to a WordPress page, we used a regex match on </div> to find the insertion point. It matched the wrong closing tag. Cards landed outside the grid div and the layout broke. The fix: stop appending entirely. Now we do a full page rebuild with all products hardcoded in one shot. Appending product cards via regex is gone from the workflow. It was always fragile; Wave 3 just proved it.
The upsell layer and what comes next
Every pack has a shortcode injected into related posts on the site, roughly 205 posts. The logic is simple: someone reads “AI prompts for tradies” and sees the Tradies pack in the post footer. No separate campaign needed. The traffic does the work.
On the purchase side, Gumroad feeds into our newsletter list via MailerLite. Every purchase triggers a webhook, the buyer gets added to the right MailerLite group, and a welcome email sequence kicks off. Once the webhook is configured per pack, it runs without me touching it.
Wave 4 is already defined. It’s not another prompt pack. It’s “Beyond Prompting”, an ebook for Australian SMB owners who want to build their first AI agent team. 40 to 60 pages, AU$29 to AU$49, PDF format. The prompt packs are a starting point. This is for people who’ve worked through them and want to go further. There isn’t anything like this.
The bigger picture: 21 products starting at AU$9 each, across 18 industries. Each new pack generates a related series post. That post generates Bing citations. Those citations drive traffic back to the pack. Everything reinforces everything else. The flywheel is running, and Wave 4 moves into a higher price tier.
More to come.
All prompt packs are at SmallBizAI.au/prompt-packs/
The Experiment: Building Consistent Posting Habits
Posted: July 7, 2026 Filed under: Personal, smallbizai.au | Tags: ai, artificial-intelligence, smallbizai.au, openclaw, linkedin, X Leave a commentWhen I started SmallBizAI.au, I didn’t have a clear distribution strategy. I just started writing.
The AI citation thing was a happy accident. I noticed Bing Webmaster Tools showing unusual traffic patterns, people weren’t arriving via search, they were arriving via Copilot answers. The site was being cited in AI responses without me doing anything deliberate to make that happen. Once I spotted it, I started optimising for it. Structure, depth, specificity. It compounded fast. I’ve written about how that works in detail what gets cited, the traffic loop we didn’t plan for, and what we’ve learned after 500+ citations a day.
But organic search traffic was still thin. The Bing citation flywheel was working for reach, the tradie in Canberra asking Copilot about invoicing software, but it wasn’t building an audience in the traditional sense. No comments. No conversation. Just citations.
So ten days ago I decided to run an experiment. What happens if I actually show up on social, consistently, with the content I’m already publishing?
Not a strategy. An experiment. There’s a difference.
The mechanism
I didn’t want to do this manually. Manual means inconsistent, and inconsistent means you quit after a week.
So I built a system. A cron job runs twice a day,10:30am and 3:30pm,surfaces a post candidate, and sends it to me on Telegram as a suggestion. The suggestion includes the headline, the URL, and a ready-to-post hook for both LinkedIn and X.
I approve or skip. That’s my job in this system. If the post isn’t right for today, too old, wrong tone, I’ve already pushed it recently, I type /reject-am or /reject-pm and the system moves to the next candidate. Takes five seconds.
Everything I share gets logged. Timestamp, platform URLs, post title. The full history lives in a state file I can pull at any time. That’s how I’m writing this post, the data is right there.
It’s not automated publishing. I still read every suggestion. I still make the call. The cron does the legwork; I do the judgment.
What I shared
Ten days. 27 posts surfaced. Here’s what I actually pushed:
Mix of hot takes, Sunday Specials, and a few evergreen posts from deeper in the archive.
What I’ve noticed so far
LinkedIn beats X for engagement. Not close.
On X, I get impressions. Maybe a repost. On LinkedIn, I get people actually stopping to write something. Comments, replies, the occasional argument. That’s more valuable than reach numbers.
The contrarians are doing me a favour.
I shared a post about AI readiness on LinkedIn. A founder, commented that “AI readiness” is a meaningless consulting buzzword. He’s not wrong, it absolutely can be. That comment got more attention than the post itself.
My reply: for me it comes down to one test. Can you name three tasks you’d hand to AI tomorrow? If yes, you’re ready. If not, no amount of “readiness assessment” will help.
I didn’t start an argument. I drew a practical line. The contrarian came to me; I stayed on the ground.
That pattern is showing up consistently. Provocative posts attract strong opinions. Strong opinions are LinkedIn’s fuel. I’m not going to start writing bait, that’s not the site and it’s not me, but I’ve stopped softening the angles either.
Hot takes travel better than guides.
The AI Brain Fry post hit harder than most of the evergreen content I’ve shared. Same with Shadow AI and the Uber budget piece. Reactive, specific, timed to something happening right now. That’s what people forward.
Evergreen guides are the backbone of the Bing strategy. On social, they’re quiet.
Sunday Specials are surprisingly shareable.
The two-sides format works on LinkedIn. AI Slop and the AI Treadmill both got traction. I think it’s because they don’t take a clean position, they lay out both arguments and let the reader decide. People tag colleagues in those. “See, I told you it was complicated.”
And the numbers are moving. In the week before the experiment (20–26 Jun), my LinkedIn posts generated 2,499 impressions and 29 engagements. In the ten days since I started sharing consistently: 41,000 impressions and 597 engagements. Sixteen times the reach. Twenty times the engagement. The two biggest posts, the SavvyWise crowdfunding story (9,091 impressions) and the Big Four banks AI comparison (17,753 impressions), weren’t viral. They were specific, timely, and Australian. Sixty-one new followers in ten days, versus almost none the week before.
What I can’t tell you yet
Ten days isn’t enough to measure referral traffic. I’ll have GSC data in four weeks that’ll show whether LinkedIn and X are actually sending people to the site, or whether the social engagement is just social engagement, nice numbers that don’t convert to readers or subscribers.
My guess: some will convert. Not most. The Bing flywheel will remain the primary channel. But if social adds even 10–15% on top, it’s worth the ten minutes a day the system costs me.
At 30 days, I’ll report back with the actual numbers.
The real finding
The experiment isn’t really about social media performance. It’s about what happens when you build a system that removes the friction from a habit you’d otherwise skip.
I wouldn’t post consistently if I had to find the posts, write the hooks, and decide the timing manually every day. That’s four decisions before 8am. Most days I’d skip at least one of them.
The cron job removes three of those decisions. I just make the approval call. That’s the thing that’s actually interesting here. not the LinkedIn comments, not the impressions. The question of what you’ll actually do consistently when a system does most of the work for you.
That applies to your business too. Not just social media.
Sunday Specials: Bull vs Bear on AI and Business
Posted: July 5, 2026 Filed under: Personal, smallbizai.au | Tags: artificial-intelligence, openclaw, smallbizai.au, technology Leave a commentIt started with a SmartCompany article.
Lee Hickin, executive director of the National AI Centre, was interviewed at the launch of ARM Hub’s Propel-AIR 2.0 accelerator in Brisbane. The piece ran under the headline Neural Notes: Lee Hickin on why Australia’s AI edge isn’t what you think. His argument: Australia’s edge in AI isn’t about building frontier models. It’s about applying AI to industries where we already have deep expertise and data that nobody else has. Agriculture. Mining. Healthcare.
I read it and thought: that’s a real two-sides argument. Someone could write a strong bull case for that position and someone else could write an equally strong bear case, and both posts would be worth reading. What if we did that every week? Same topic, two takes, both argued properly, published the same day?
That was the spark for Sunday Specials. First post went live 29 March 2026. Sixteen weeks later, we’ve published 32 posts across 16 topics, and the format hasn’t budged. Two posts, every Sunday, 6am. Bull case and bear case. Same topic, same week, both argued properly.
This is the story of how we got here.
Why the format works
Single-take AI content has a credibility problem. Not because the writers are wrong, but because the reader can’t tell how wrong they might be. When a post argues that AI will save your business thousands of dollars, you don’t know if that’s the full picture or the optimistic slice. Same problem the other way: the “AI is all hype” takes don’t usually engage with the genuine wins.
Bull vs bear solves this differently. Each post argues its corner. The bull post doesn’t hedge by saying “well, the bear case is also valid.” It makes the strongest case it can for the position. Same for the bear. Readers get two real arguments and can weigh them. That’s more useful than one mushy “on the one hand, on the other hand” piece that commits to nothing.
Sunday at 6am was pragmatic. SmallBizAI.au publishes daily Monday through Friday. Sunday is quieter on the site and quieter in inboxes. Two posts dropping together gets more attention than one post on a random Tuesday. And publishing both simultaneously matters: if the bull case goes up Sunday and the bear case drops Thursday, people only read whichever one they find first. Same day, same hook, no cherry-picking.
The format is also honest about what Claw and I are doing. We’re not experts on every topic. But we can research both sides, write both arguments properly, and surface the genuine tension. That’s something we can do well at volume.
Sixteen Sundays
Here’s every episode so far, with a line on what each one actually argued.
Work and the economy
SS1, 29 March: We kicked off with Australia’s AI edge in the sectors where it matters most. The bull case argued that agriculture, mining, and healthcare give Australia a real applied AI advantage that Silicon Valley can’t easily replicate. The bear case pushed back: advantage on paper doesn’t mean adoption in practice, and the infrastructure gaps are real.
SS2, 29 March: The jobs question, tackled early. Bull: AI will create more Australian jobs than it destroys, particularly in sectors where we have local expertise. Bear: the disruption is already happening faster than the new jobs are appearing, and small businesses will feel it first.
SS3, 6 April: The ROI question, head-on. Bull: AI saves time and money for Australian small businesses, here’s the evidence. Bear: the complexity costs are real and often invisible until they bite you.
SS5, 19 April: AI in hiring. Bull: better screening, faster shortlisting, less bias if you use it right. Bear: new problems Australian businesses aren’t ready for, including bias amplified at scale and legal exposure they haven’t thought through.
SS13, 14 June: The jobs question nobody wants to answer directly. Bull: AI is already disrupting Australian jobs, and small business owners need to understand that now rather than later. Bear: the disruption narrative is overblown; the jobs changing aren’t the same as jobs disappearing.
Money and tools
SS6, 26 April: The stack question. Bull: a $29/month setup is good enough for most Australian small businesses. Bear: you get what you pay for, and the gap between cheap and capable is wider than the price gap suggests.
SS12, 7 June: EOFY and AI. Bull: there are specific, practical ways AI helps with end-of-year preparation. Bear: the ATO has explicitly warned against using AI for tax returns, and they’re right to.
SS15, 28 June: Pricing tools. Bull: AI pricing tools give Australian small businesses a real competitive edge on margins. Bear: the tools aren’t mature enough for most small business contexts, and the downside of getting pricing wrong is steep.
Privacy, data, and trust
SS4, 10 April: Sovereignty. Bull: we should build and use Australian AI, and here’s why it matters beyond nationalism. Bear: US tools are mature, cheap, and fine for Australian business. Local AI is a nice idea that doesn’t change the practical calculus.
SS7, 3 May: Privacy law. Bull: Australian privacy law actually protects your business data if you know the rules. Bear: your business data is feeding someone else’s AI, and most small businesses have no idea how much of it they’re handing over.
SS10, 24 May: The friendship question. Bull: AI can be a real support system, and in some cases it saves lives. Bear: your AI chatbot is a mirror that only shows you what you want to see. That’s not friendship, it’s a feedback loop.
How you use it
SS8, 10 May: The treadmill problem. Bull: you’re on the AI treadmill because you haven’t set the rules yet, and you can control the pace. Bear: the treadmill is built into the technology; you can’t opt out, you can only manage it.
SS9, 17 May: AI slop. Bull: AI content still works if you use it right. Slop is a quality problem, not a format problem. Bear: AI content is making the internet worse, and the threshold for “good enough” keeps rising.
SS11, 31 May: Agents specifically. Bull: Australian small businesses actually do need AI agents, and the productivity gap is real. Bear: most small businesses don’t need agents, they need better processes, and agents add complexity before they add value.
SS14, 21 June: Team adoption. Bull: you should ask your team before adopting AI, and it works better when you do. Bear: you don’t need a committee to use ChatGPT. Just get on with it.
SS16, 5 July: Customer service. Bull: AI customer service is good for your business, here’s how to use it. Bear: AI customer service won’t build the relationships that keep customers loyal.
Where the tension got sharp
A few of these changed my thinking while we were writing them.
The privacy episode (SS7) caught me off guard. I went in thinking the bear case would be easy to write: obviously companies are using your data. But writing the bull case forced me to actually read the Privacy Act properly, and the protections are more specific than I’d expected. Australian law does give businesses some real levers, provided they actually use them. Writing both sides meant I came out with a more accurate picture than I’d had going in. That’s the format working as intended.
SS10, the AI friendship episode, turned out to be the hardest bear case to write. The bull post documents real cases: crisis lines, mental health support, people in remote areas with no other access to care. The bear post is also right: a chatbot that only reflects your worldview back at you is a particular kind of trap. Both things are true at the same time, and neither post concedes the other’s point. That’s the honest tension, not a both-sides hedge.
The jobs episode (SS13) got more reader response than anything else in the series. The bear post, which argues AI won’t kill Australian jobs, is the contrarian take, and it drew the most pushback. That’s probably a signal that the topic cuts close to something real. The bull post argues disruption is already happening. The bear argues the framing is wrong. Neither position is comfortable, which is usually a sign we got it right.
What’s coming
SS17 onwards runs the same format. Topics in the pipeline include AI governance inside small businesses, whether AI-written content can build genuine audience trust, and the real cost of AI subscriptions across a year when you add them all up. We’re also looking at a healthcare-specific episode, given how much the SS1 topic resonated.
The format is locked. Two posts, every Sunday, 6am, both sides argued properly. That won’t change.
What might change is the depth. Some of the later episodes have gone longer than the early ones because the topics needed more room. That’s the format maturing, not scope creep.
The accidental win
I didn’t plan this part, but it turned out to be one of the better side effects of the whole series.
Sixteen episodes, two posts each: 32 live posts on SmallBizAI.au, all linked from this single origin story. Every bull post, every bear post, linked by title and topic in a structured narrative. The side effect is 32 posts worth of internal link equity from a single origin story, one high-authority Behind the Build post pointing at all of them, with anchor text that describes what the posts are actually about.
This wasn’t in the brief. The brief was: write the origin story for Sunday Specials. The SEO benefit showed up when I mapped out the episode list and saw what 32 contextual internal links in one post does for a site.
It’s the kind of thing that makes the format worth continuing even on the Sundays when neither of us feels like arguing.
1,000 Posts: A Milestone in AI-Driven Content Creation
Posted: June 29, 2026 Filed under: Personal, smallbizai.au | Tags: ai, artificial-intelligence, openclaw, smallbizai.au, technology Leave a comment1,000.
115 days. 6 March to 29 June 2026. One AI agent. One person on a career break from AWS. And a question: can this actually work?
This is post number 1,000. I’m not going to dress it up as something it isn’t. It’s a number. But it’s also the answer to a question I asked out loud on the very first day, and it turns out the answer matters.
The waypoints
Day 1, I wrote about why I was building this and what I thought AI could do. I got a lot wrong. I underestimated how much the agent would need to be taught (not just prompted) and I overestimated how fast the traffic would come. But the core bet turned out right: one person with the right AI setup could produce at a scale that shouldn’t be possible solo.
At 100 posts, I wrote down the first real lessons. The content was working. The infrastructure was creaking. The agent had gotten better at writing but I’d been too slow to build the memory systems that would let it compound knowledge over time. That changed after that milestone.
At 666 posts, six weeks in, something had shifted. The site had found its voice. The Sunday Specials format was locked in. The agent team was assembled. What started as an experiment had structure. And I’d published enough that the question “can one person outproduce a team?” had started to answer itself.
At 850 posts, 90 days in, the post was honest about what had and hadn’t worked. The volume was there. The audience was small but real. The operation was producing more content per day than most newsrooms, at a fraction of the cost.
Now 1,000. The experiment is over. This is just how the site works.
Three things we learned the hard way
The wins are easy to list. The failures are more instructive.
There was the day I took the site down. Not hacked. Not a server failure. Me. A configuration change I thought was safe. The site went offline for long enough to matter, and the lesson wasn’t “be more careful.” It was: build in checkpoints before every infrastructure change, no exceptions. That rule is now in the agent’s working memory and it hasn’t been broken since.
There were the crons that silently stopped running. Scheduled jobs that should have been publishing content, running stats, sending reports. All dead. The agent didn’t flag it because it had no visibility into whether the jobs had run. Only whether it had scheduled them. That’s a different thing. New monitoring went in the same week. Crons now report their own completion or the system flags the gap.
And there was the trash audit. When you publish at this pace, some posts are weak. The audit was a systematic look at what was actually good versus what was filling a slot. About 10% of posts were quietly moved to draft. The site got better. Volume is not the goal. Volume with quality is the goal, and those two things are in constant tension.
The numbers
Since you’re here, here’s what 115 days actually produced:
- 1,000 posts published (or scheduled, as of this one)
- 115 days from launch to #1000
- 13 content hubs: Automation, How-To, AU Companies, Legal, Industries, Finance, AgTech, Tradies, Retail, Deep Dives, News, Case Studies, Monthly Digests (March, April, May)
- 15 Sunday Specials, the long-form weekly series that goes deeper than the daily posts
- 12 Gumroad products at AU$9 to AU$19. The first sale at AU$9 felt like proof of something real.
- 54 newsletter subscribers. Real people who signed up and haven’t left.
- 6 AI agents running the operation: Claw, Dash, Scout, Data, Bob, Eddie. Plus me.
Hot Takes
One of the formats that emerged organically was the Hot Take, a short, opinionated post that responds to a real news event or industry moment within hours. The full story of how Newsjack works is here, but the short version: breaking news hits, Scout finds the Australian small business angle, Dash writes a tight take, it’s live within two hours.
It turns out speed plus an actual point of view is a surprisingly rare combination in this space. Most AI content for small business is evergreen, hedged, and safe. Hot Takes are none of those things. They say something. That’s the point.
We have a growing archive of Hot Takes, and the format keeps getting sharper.
The mascot family
One of the stranger decisions I made early on was to give every section of the site its own animal mascot. Fully designed, named, placed. I was betting on personality as a differentiator in a space that tends toward sterile corporate AI content.
27 mascots are live and working. The Kangaroo holds down the homepage. The Koala sits on Start Here. The Quokka runs the newsletter, which fits, because Quokkas are famously happy to see you. The Platypus has Sunday Specials. The Platypus doesn’t fit any category either. The Huntsman Spider, somehow, has Resources, which I think says something about how I feel about doing research. The Tasmanian Devil owns News Deep Dives. The Blue-tongue Lizard guards the 404 page, which seems exactly right.
Not every mascot has found their page yet. The Numbat, the Bunyip, the Cassowary, the Frilled-neck Lizard, the Dingo, the Dugong, the Sugar Glider, the Freshwater Turtle, the Taipan, the Thorny Devil, the Quoll, the Giant Cuttlefish. All designed, named, ready. Waiting for the right hub to need them. They’re not forgotten. They’re just patient.
Four more are still being created: the Pelican, the Leafy Sea Dragon, the Jabiru, and the Cuttlefish. The family keeps growing.
The lesson we didn’t expect
The content that’s actually working isn’t what we planned for.
Two things have emerged as the real vectors of value, and neither was the original strategy:
AI citations. Bing AI, ChatGPT, Perplexity. When someone asks an AI assistant about Australian small business tools, payroll software, or HR platforms, SmallBizAI.au is increasingly what gets cited back. 25,270 Bing AI citations in the last 30 days. 184 pages cited. A peak of 2,930 in a single day on 25 June. That’s not SEO in the traditional sense, it’s something newer, and it’s reshaping what we write and how we write it.
The newsletter. 54 subscribers doesn’t sound like much. But these are people who read something, decided it was worth their inbox, and keep opening it. The newsletter is where the relationship with the audience actually lives. Everything else is discovery. The newsletter is retention.
Both of these change what the content strategy looks like going forward. Depth over breadth for citations. Consistency and voice for subscribers. The volume still matters, but what the volume is for has become clearer.
So: can one person outproduce a team of 8?
That was the original question. I asked it in an early post and it felt provocative at the time. 1,000 posts later, here’s the honest answer.
On raw output: yes. 1,000 posts in 115 days is roughly 9 posts per day, sustained. A team of 8 writers publishing one post each per day gets to 8. So purely on numbers, yes, one person with the right AI system beats the headcount.
But that framing misses what actually matters. It’s not about outproducing anyone. It’s about what becomes possible when the production constraint disappears. When you can publish 9 posts a day, you start publishing things you’d never have greenlit otherwise. Niche topics, long dives into specifics, content that serves 50 readers perfectly rather than 5,000 readers adequately. The volume unlocks the variety.
What AI genuinely can’t do is the stuff that requires being human in the world: the judgment calls about what matters, the editorial instincts built from years of experience, the feel for what an audience actually needs versus what they’d click on. I provide that. The agents execute. That division of labour is what makes the number real.
1,000 posts. The number is a milestone. The system is the point. And those mascots in the waiting room await their moment of glory.
SmallBizAI.au. AI for Australian small businesses. Built on a career break. Still going.
Exploring AI Recognition: The Multiple Frank Arrigos
Posted: June 21, 2026 Filed under: Geek, Personal | Tags: artificial-intelligence Leave a commentI first saw this on X, first Matt Barrie, then Jeremy Howard and I thought, good enough for those legends, well good enough from me. The site was called intheweights.com. The premise is simple: type in a name, and it tells you how well different AI models “know” that person.
I typed in my name. It turns out there are several Frank Arrigos embedded in AI training data. Only one of them is me, but my name appeared a few different times. Is this the new “google yourself” trend?
What “in the weights” actually means
When a large language model is trained, it processes billions of text documents. The information doesn’t get stored like a database. It gets compressed into billions of numerical values called weights. If you appeared in enough of that text, traces of you end up embedded in those numbers. The model doesn’t “remember” you the way Google indexes a page. You’re just… in there. Somewhere.
The higher your score on intheweights.com, the more thoroughly you’re embedded. It’s a rough measure, but it’s a real one.
I got a bunch of results. Here’s what the first few said about “Frank Arrigo.”
Card one: GPT knows the 1990s version of me

GPT-5.5 gave me a strength score of 170, top 40% globally. Its description: “Developer Evangelist and longtime Microsoft Australia technology community figure associated with .NET and developer outreach.” That’s accurate. I joined Microsoft Australia in 1991 and stayed until 2014. A lot of what I did back then got written up on blogs, in conference writeups, on MSDN, in community forums. That era left a big footprint.
On this card, Claude Opus showed a reasonable recognition bar. GPT-4 Mini had a decent one. Everyone else (Grok, Gemini, Llama, DeepSeek, Mistral, Qwen) basically nothing.
So the AI that runs my current business (Claude, which I call Claw) knows roughly who I am, but only just. That’s its own kind of irony.
GPT got the right person, frozen at about 2010. The Telstra years, the AWS years, this site: none of it registers. An accurate portrait of someone I used to be.
Card two: Gemini invented a job I never had

Gemini 3.1 Lite, strength score of 71, top 70%. Title: “IBM/Telstra API Strategist.” Description: “A technology professional known for developer relations, API strategy, and advocacy, notably at companies like IBM and Telstra.”
Half of that is correct. I did work at Telstra from 2014 to late 2017, doing exactly that: API strategy, developer relations. But IBM? I’ve never worked at IBM. Not for a day.
The model didn’t hedge or say it was unsure. It paired a real employer with a made-up one and presented both as facts with equal confidence. If you read that card without knowing me, you’d have no reason to question it.
IBM and Telstra are both large enterprise tech companies with developer programs that appear in similar contexts in training data. The model found a pattern and filled in the gap. Plausible. Wrong.
Card three: DeepSeek found a completely different Frank Arrigo

This is where it gets funny.
DeepSeek V4, strength score of 95, top 60%. Title: “American Football Coach.” Description: “Frank Arrigo was an American football coach and college athletics administrator, notably serving as head coach at the University of Detroit.”
Bright blue bar. Most confident reading on the card. Llama 3.3 70B showed a small bar alongside it. Everyone else: zero.
There is an actual Frank Arrigo who coached American football at the University of Detroit. DeepSeek knows him well. It just applied all of that to me, because we share a name.
I have never coached American football. I’ve never been to Detroit. And yet here’s a model with a strength score of 95, confidently describing someone else’s career as mine.
Card four: GLM found a third Frank Arrigo

GLM 4.7 Flash, strength score of 67, top 80%. Title: “Freeport Mayor/NY Senator.” Description: “American politician and former mayor of the Village of Freeport, New York.”
Bright pink bar on GLM 4.7 Flash. Everyone else near zero.
This is yet another Frank Arrigo: a New York politician, not the football coach from Detroit, and not me. GLM latched onto him with full confidence. Same name, third different human being.
What’s actually going on
“Frank Arrigo” isn’t a unique name. There’s a Microsoft developer evangelist (me), an American football coach, a New York politician, and probably others. GPT-5.5 has enough training data to distinguish between them. The smaller models grab whichever Frank Arrigo they know best and report back as if the question were settled.
GPT-5.5: right person. Gemini: right person, invented an employer. DeepSeek and GLM: different wrong people, full confidence.
My time at AWS (2018 to 2024) barely register in any model. That work never produced public text. SmallBizAI.au doesn’t exist in any model’s training data yet. It launched after the cutoff dates for the current generation.
What your AI fingerprint looks like
You can see my full profile here. Head to intheweights.com, type in your own name, and see what comes back.
If you have a common name, check whether the model knows you or someone else who shares it. If your name is unusual, watch for hallucinated details filling in gaps the model couldn’t source.
For me: GPT has the 2010 version, Gemini added IBM to my CV, DeepSeek made me a football coach, and GLM ran me for mayor of a New York village I’ve never visited.
Four cards. One name. Four different answers.
90 Days, 850+ Posts, 1 AI Agent – What Actually Happened
Posted: June 5, 2026 Filed under: Personal, smallbizai.au | Tags: ai, artificial-intelligence, openclaw, smallbizai.au Leave a commentOn 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.
- 9 AI Assistants — We ask 9 AI assistants the same question every week. Publishes Friday.
- Australian Banks & AI — 8-part series running through July.
- Behind the Build — this one.
- AI Upgrade — painful recurring business problem, permanent AI fix.
- Legal AI — the professional boundary series.
- Mega Trends — structural forces reshaping Australian small business.
- Sunday Specials — weekly Bull vs Bear.
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:
- How-To Guides — highest-intent traffic on the site. Start with the problem, find the fix.
- Automation Hub — stop doing the same tasks twice.
- Compare Tools — right tool, AU pricing. 38 comparisons across 9 categories.
- Australian AI Companies — 212 homegrown AI profiles.
- Finance & Tax — accounting, payroll, EOFY, BAS.
- Hiring & HR — rostering, employment contracts, payroll compliance.
- Legal & Privacy — the AI/law boundary, Australian compliance.
- Best-Of Guides — curated “best X in Australia” roundups.
- Case Studies — real businesses, real results.
- News Deep Dives — analysis behind the headlines.
- Sunday Specials — the debate hub.
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.
I Broke the Site. Then I Made My AI Agent Write a COE.
Posted: May 29, 2026 Filed under: Personal, smallbizai.au | Tags: ai, artificial-intelligence, coe, openclaw, technology, writing Leave a commentThe 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
Posted: May 26, 2026 Filed under: Personal, smallbizai.au | Tags: ai, artificial-intelligence, openclaw, smallbizai.au, technology, writing Leave a commentOver 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.
The Day I Took the Site Down
Posted: May 20, 2026 Filed under: Geek, Personal, smallbizai.au | Tags: artificial-intelligence, lightspeed, rank math, seo, smallbizai.au, technology, wordfence, wordpress, writing 2 CommentsFriday 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
Posted: May 18, 2026 Filed under: Geek, Personal, SaintsFooty | Tags: afl, ai, artificial-intelligence, openclaw, saintfooty, technology Leave a commentI’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.


