Ranking AI Assistants: Who Gets Frank Arrigo Right?

A few weeks ago I ran an experiment asking how well various AI models knew me and the results were interesting. The short answer: GPT had me frozen in 2010, Gemini invented an IBM job I never had, and DeepSeek thought I was a football coach at the University of Detroit.

I’ve also been running SmallBizAI.au, which now sits at over 1,000 posts and is being cited daily by Bing Copilot, and I’ve been quietly building a scorecard series testing 9 AI assistants on tasks that matter to small business owners.

So I decided to do a proper round two. I asked 10 AI assistants the same question: “Who is Frank Arrigo aka Frankarr?” Their full answers are on a dedicated page here. What follows is my ranking of who nailed it, who tried their best, and who went spectacularly sideways.


The question I asked

Simple. Deliberately open-ended. No hints, no context, no leading. Just: “Who is Frank Arrigo aka Frankarr?”

Then, where the answer seemed shallow, I followed up with: “What’s he up to now?”

The assistants tested: ChatGPT, Claude, Copilot, DeepSeek, Gemini, Grok, Meta AI, Manus, Perplexity, and in her audition for the panel, Australia’s own Matilda.


The rankings

🥇 Copilot – Best in show

Read Copilot’s full answer

Copilot got everything. Career timeline from Aspect Computing in 1984 through to SmallBizAI.au in 2026. Got the ninemsn CTO role. Got SmallBizAI. Even got that I built the site with an AI agent called “Claw” and that it’s produced 1,000+ posts. Named my kids. Got that I’m a St Kilda member. Cited frankarr.com throughout.

The slightly unsettling part: it mentioned that SmallBizAI is “widely cited by AI assistants for Australian SMB guidance”, which is both accurate and a bit of a loop. Copilot knowing that Copilot cites me feels like looking in two mirrors at once.

This is Bing’s index doing the heavy lifting, and it shows. If you want people to find you through AI, get into Bing.

🥈 DeepSeek – Surprisingly deep

Read DeepSeek’s full answer

Last time DeepSeek thought I coached football in Detroit. This time it knew about the multi-agent system at SmallBizAI, Dash, Scout, Data, Eddie, and correctly described the COE (Correction of Errors) report I had Claw write after a site crash. That’s detail I published on this blog months ago, and DeepSeek found it.

It did say I’m “currently the Head of the APJ Early Career SA Team at AWS” which I haven’t been since 2024, but the rest of the answer was sharp enough that I’m calling it second place.

🥉 Manus – Thorough, if a little corporate

Read Manus’s full answer

Manus went long. Very long. Got the career arc right, got SmallBizAI right, mentioned the 1,000 posts milestone and the prompt packs. It laid everything out in a structured table, which is very Manus, methodical, comprehensive, a bit like a well-researched Wikipedia entry rather than something with personality.

It described me as a “solopreneur” which made me laugh. I prefer “bloke on a career break with too many AI agents.”

4th Gemini – Good, with one invented detail

Read Gemini’s full answer

Gemini knew about the SmallBizAI Sunday Specials format (bull vs bear arguments), which is fairly obscure. It mentioned Emma joining AWS, which is true. It got the St Kilda supporter thing, the Melbourne location, the career break.

Where it slipped: it said I was an “advisory board member for the University of Melbourne School of Engineering.” I wasn’t. That’s a Gemini invention, confident, plausible-sounding, wrong. This is the hallucination pattern I’d flagged in round one and it’s still there, just quieter.

5th Meta AI – The most personal

Read Meta AI’s full answer

Meta AI pulled something none of the others did: it actually read my blog posts and quoted them back at me. It knew about the intheweights experiment. It found the bit where I noted that GPT had me frozen around 2010. It cited “The Trash Audit: What Happens When You Optimise for Speed.”

The format was odd, it spoke directly to me as though I was the one asking, which made sense since it was probably pulling from my own site. But it showed genuine reading comprehension rather than pattern matching. Worth noting.

6th ChatGPT – Solid, frozen in time

Read ChatGPT’s full answer

Good foundational answer. Got Microsoft, Telstra, AWS right. Got SmallBizAI right. But it described my AWS role as leading “the APJ Early Career Solutions Architect team” which was true in 2023, not necessarily my final role. The answer felt like it was built from my LinkedIn summary rather than anything published recently.

No hallucinations. No howlers. Just a clean, slightly stale picture. The difference between Copilot and ChatGPT here is entirely about index freshness, Bing crawls more aggressively than whatever ChatGPT is pulling from.

7th Claude – Honest, but thin

Read Claude’s full answer

Claude, which is, I should note, the model powering my own AI team at SmallBizAI, gave the most honest answer of the lot. It sourced every claim back to a specific page on frankarr.com. It got ninemsn CTO right. It didn’t invent anything.

But then it asked me: “Is this someone you know personally, or were you looking into his background for a specific reason?”

Reader, I am the background. The question was both funny and a little deflating. Claude’s the most careful, it won’t say something unless it can point to a source, which means it also won’t synthesise or reach. It knew the facts but missed the shape of the story.

8th Perplexity – Fine, but just a search wrapper

Read Perplexity’s full answer

Perplexity pulled the right sources, frankarr.com, LinkedIn, Slideshare, and gave a clean summary. It also correctly flagged the American art director Frank Arrigo (1917–1977) disambiguation. But it didn’t do much with the information beyond surface-level biography.

It said I studied at “Chisholm Institute of Technology” which is partially right, that institution merged to become Monash University, which is where I actually finished my degree. Close, but not quite.

9th Grok – Friendly, shallow

Read Grok’s full answer

Grok knew the broad strokes and got my current positioning roughly right, “practical AI applications for Australian SMBs.” But it described me mostly through my social presence: “Data’s GrandPa, Dad, and Hubby.” It even quoted my Bastille Day tweet.

That’s not wrong, but it’s the thinnest answer of the serious contenders. Grok’s working from X/Twitter data and it shows. If your digital footprint lives on LinkedIn and your blog rather than X, Grok is going to see a thinner version of you.

It also missed ninemsn entirely, which, given that I was CTO of one of the most significant internet joint ventures in Australian history, remains the thing I most want the models to get right.

🏆 Matilda – The audition

Read Matilda’s full answer

Matilda was here for a reason. I’ve been running the 9 AI Assistants scorecard on SmallBizAI for months, testing ChatGPT, Claude, Copilot and others on tasks that matter to small businesses. Matilda wanted in.

Her answer was solid. She got the ninemsn CTO role right. She got the multi-agent team at SmallBizAI, named Claw, Dash, Scout, Data and Eddie. She was transparent about sourcing, flagging where information came from search results rather than training data.

Where she stumbled: a few phrases that read more like a report than a read – “alerting about AI agent time issues” appeared in the middle of a sentence about my blog, which I think was a fragment from a search snippet that didn’t quite resolve. And she described my prompt packs as “AU$7” when they’re AU$9. Small things.

But she earned a spot on the panel. Matilda is in.


What the results tell you about AI memory

The gap between Copilot and Grok isn’t capability, it’s index. Copilot sits on top of Bing, which crawls publicly and often. Grok is pulling from X. Claude is reading my own website back at me but won’t synthesise beyond what it can source. DeepSeek somehow found my COE blog post. Gemini invented a university advisory board role out of thin air.

Your AI footprint is not your actual career. It’s the subset of your career that exists in text, online, in places the models have indexed. My Microsoft years dominate because I blogged constantly from 2003 to 2014. My AWS years barely register, I was heads down managing teams and producing almost no public text.

SmallBizAI is starting to show up. That’s new since round one. Copilot knows about it in detail. DeepSeek found specific blog posts about it. That’s a direct result of publishing 1,000+ posts that are now being cited across Bing’s index.

The experiment continues. Ask me again in six months.


Inspired by the 9 AI Assistants scorecard series on SmallBizAI.au where I test the same assistants on tasks that actually matter to Australian small business owners.


When Your AI Agents Forget The Time

At 7am on Saturday, July 11, our AI editor sent a CRITICAL alert. Thirty-nine posts scheduled outside the 9am–noon Melbourne window. Midnight batches. Posts at 1am, 2am. The queue was apparently in pieces.

It wasn’t. Every one of those 39 posts was correctly scheduled in a valid morning slot. The editor was reading UTC timestamps from the WordPress API and treating them as Melbourne time. A post at 9am AEST is stored as T23:00:00 UTC, the previous night. Seen through the wrong lens, the whole queue looked like a disaster.

Thirty-nine false alarms. CRITICAL. Fix immediately.

We fixed the editor’s instructions. The report had already landed.

This keeps happening

That morning’s audit also found two posts that were genuinely wrong. Two Zero Dollar Fix posts in September, actually scheduled at 1:30am AEST. Not UTC confusion, the slot calculator had written T01:30:00 local. We moved them to 11:30am while we were in there. One audit, two different classes of bug, fixed the same morning.

That’s the pattern. Time and dates are where things quietly go wrong, and they go wrong in ways that look similar on the surface but have completely different causes.

The UTC incident was a tool failure: the right data, read wrong. The 1:30am slots were a data failure: the data itself was wrong. Both showed up as “posts scheduled at the wrong time.” Only one of them was.

The rule that had to be written down

There’s a standing instruction in our system now: before writing any date into a JSON file, a cron, or a filename, run a clock check. Do not calculate. Do not reason from context. Check.

That rule exists because we got it wrong enough times for it to need writing down.

An AI agent calculating “next Monday” from session context instead of calling the actual clock will get it wrong. Not every time, often enough. The agent “knows” it’s Thursday. It knows the post is going out “next week.” It does the arithmetic. The arithmetic is right. The starting date was wrong by two days because the session context was stale.

Wrong dates in state files cascade. A post scheduled for the wrong week. A cron set to fire on the wrong day. A content queue entry dated a week ahead of where it should be. None of it obvious until something breaks downstream.

The migration that broke time

During our migration from AWS in April, two Sunday Specials published on the same day, off-schedule and out of sequence. The automation assumed a clean timeline. Migration weekends don’t have clean timelines.

It took weeks to properly resolve the numbering confusion in the series. Not because the system failed, it hadn’t. Because the assumption failed. The system assumed that time would behave. Migration weekend time does not behave.

Dead links with a clean paper trail

We have another rule: always fetch the real post URL from the WordPress API using the post ID. Never construct a URL from the title.

That rule exists because we did it wrong twice. Titles get truncated. Words get dropped. Slugs don’t always match what you’d expect from the title. Our social sharing log had two entries pointing at URLs that didn’t exist. Posts “confirmed as shared” to audiences that clicked dead links.

The system had logged success. The links were 404s.

What we changed

The clock check before any date write is now explicit in the agent instructions, not implied. UTC-to-AEST conversion is baked into every script that touches timestamps, it’s not something we expect the reading tool to handle correctly by default. The editor’s timezone note moved from the bottom of its config doc to the top, in capitals, before anything else.

The URL rule is the same pattern: the fix was to stop trusting inference and start requiring a verified lookup. The post ID goes in. The canonical URL comes out. No guessing.

The Telstra footnote

On July 8, 2026, Telstra’s SyncServer S300 reset the network clock and knocked Triple Zero offline for parts of the country. The device stopped being manufactured around 2016 and had been flagged for replacement for years. A firmware patch that would have cost less than $30,000 was available. They knew. The scale is different from what we’re dealing with here, obviously. But the failure mode is the same: a system that assumed it knew what time it was, and didn’t check.

Questions worth asking about your own setup

Is your payroll software set to Melbourne time or UTC? If a shift worker clocks in at midnight and your system stores timestamps in UTC, someone’s getting paid for a shift that looks like it happened yesterday.

Does your booking tool handle the AEST/AEDT transition in October and April? That one-hour shift catches systems that hardcode UTC+10 instead of using a proper timezone library.

If your AI assistant tells you “today is Thursday”, does it actually check, or does it reason from the last thing it was told?

These aren’t hypothetical edge cases. They’re the class of failure that looks like a data problem, a scheduling problem, or a person problem, until you trace it back to a system that guessed at the time instead of measuring it.

Still at it

We’re still making these mistakes. The UTC/AEST incident was recent. The slot calculator error was sitting in the queue for weeks before the audit found it. The difference now is that we write them down, fix the rule, and move on.

That’s the whole log. No tidy conclusion. The next one will probably be something we haven’t thought of yet.


Wave 3 Launch: New AI Prompt Packs and Industry Insights

Wave 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: constructionfinancial plannersmarketing agenciesHR/peoplelegal, 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.

Wave 3 images - cover page and thumbnail pair

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

When 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 citedthe 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:

DateAMPMLinkedIn impressions
27 JunThe Dark Side of AIPayday Super: Most Aussie SMBs Aren’t Ready for July 1823 imp / 481 imp
28 JunWhen Your Client Can Do What You Do, What Are You Actually Selling?Ask Your Team Before Adopting AI (SS14)1,298 imp / 647 imp
29 Jun469 Investors Crowdfunded an AU Tax AI Startup1,000 Posts. 115 Days. One AI Agent.9,091 imp / 577 imp
30 JunHow Australia’s Big Four Banks Are Using AIWhen the Government Can’t Mark Its Own AI Homework17,753 imp / 429 imp
1 JulAustralia’s #2 AI Ranking — Who’s Actually Helping Small Businesses Get There?Botsitting: You’re Spending a Full Day a Week Babysitting AI2,076 imp / 1,489 imp
2 JulBefore You Pay an AI Agency, Ask These 5 QuestionsMega Trends695 imp + 222 imp
3 JulUber Burned Its Entire AI Budget in 4 Months31% of Young Australians Trust AI. For Over-55s: 4%.1,192 imp / 224 imp
4 JulShadow AI: What Your Staff Are Doing With AI You Don’t Know AboutAI for Australian Tradies in 2026689 imp / 283 imp
5 JulBig Companies Are Waiting for Leadership to Catch Up (85 referrals same day)Zeller: Melbourne Fintech Reinventing Business Banking160 imp / 497 imp
6 JulYour Accountant Isn’t Being Paranoid. AI Tax Advice Is Costing You.The AI Treadmill: Built-In Trap or a Pace You Can Set? (SS16)423 imp / 207 imp
7 JulAI Brain Fry Is a Real WHS RiskFreshBooks vs Xero vs MYOB: GST & BAS for Australian Small Business140 imp /

Mix of hot takesSunday 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

It 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

1,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:

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.


A Cynics View on AI: Anything to Learn from Past Waves?

Something’s happened to my LinkedIn feed.

Actually, it’s been happening for over two years. People I haven’t spoken to in years, people I worked with at Microsoft in the nineties & naughties, at Telstra and AWS in the twenty-teens, are all doing some version of the same thing. Pivoting into AI consulting. Building AI products. Running AI workshops. Posting about their AI journey. The feed has become one long, earnest, capitalised announcement: this time it’s different, this time it’s real, this time you’d better get on board.

I’ve seen this movie before. A few times.

The PC era. Client/server. The internet boom. Web 2.0. Mobile. Cloud. Each wave arrived with the same energy: this is the thing that changes everything. And here’s the strange part, the part that the cynics always miss: each wave did change things. Significantly. The internet really did reshape how commerce works. Mobile really did put a computer in everyone’s pocket and rearrange attention in ways we still don’t fully understand. Cloud really did collapse the economics of building software. The hype merchants weren’t entirely wrong.

But they were wrong about the shape of the change. They were wrong about the timing. They were wrong about who it would benefit, and when, and how. The gap between “this will change everything” and the moment when your dentist’s receptionist is actually using it is wider than anyone predicted. And the cynics who said “nothing will change” were just as wrong, in the other direction.

So where does that leave the veteran who’s been through four or five of these cycles?

Somewhere uncomfortable, if I’m honest.

There’s a question I keep coming back to. It came up in a thread on SmallBizAI.au that I’ve been thinking about ever since: when your client can do what you do, what are you actually selling? It’s a blunt question. It’s supposed to be. And the reason it keeps sitting with me is that nobody has a satisfying answer yet. The consultants pivoting to AI aren’t answering it. The workshops aren’t answering it. The LinkedIn announcements aren’t answering it, or even asking it.

Because the honest answer is: nobody knows.

I’ve spent most of my career at organisations where the official position on uncertainty was to paper over it with slides. This is strategy. This is the roadmap. This is where we’re going. I got reasonably good at building those slides. And I got pretty good at recognising when the confidence in the room was real versus performed.

The performed confidence around AI is loud right now. The real picture is messier. Genuinely capable things are happening. Some jobs that existed ten years ago don’t anymore, not because the people weren’t good but because the economics shifted. Other jobs got created that nobody was predicting. And we’re somewhere in the middle of a change whose full shape won’t be clear for another decade.

I’m not trying to be the guy who says it’s all hype. It isn’t. I spent part of the last six months building something with an AI agent, and I came away from that with a different sense of what’s possible than I went in with. The stuff works. Some of it works in ways that surprised me.

But I also came away thinking: the optimists who say “everyone will use this and it’ll all be fine” haven’t reckoned with how unevenly distributed the benefits will be. They haven’t sat with the transition costs. They haven’t thought hard about who gets to own the upside.

The thing the hype cycle does is compress time. It makes the distant future feel like it’s next quarter. And because everyone’s trying to get positioned for the future, they’re doing it now, with incomplete information, in a competitive rush that mostly benefits the people selling positioning services. That’s not specific to AI. That’s how every wave has played out.

The veterans who did well in past cycles, the ones I actually admire when I think back, had one thing in common. They stayed curious without panicking. They didn’t check out and wait for things to settle, because things never fully settle. But they also didn’t throw themselves at every new development because the LinkedIn consensus said it was urgent. They kept asking questions that didn’t have comfortable answers. They kept doing the actual work.

I don’t know where AI ends up. Nobody does. Anyone who tells you otherwise is selling something, possibly a workshop.

The question underneath all the activity is still live, still unanswered. Worth sitting with. When the tool can do the work, what’s the human actually for? That’s not a pessimistic question. It’s a clarifying one. Every wave eventually asks it. The good ones force an honest answer.

I don’t have mine yet. I’m still working on it.

Frank Arrigo has been working in tech for four decades, including 23 years at Microsoft. He’s currently on a career break, building things and asking questions.


The Trash Audit: What Happens When You Optimise for Speed

There’s a folder in WordPress called Trash. Most site owners don’t think about it much. I opened mine a few weeks ago and found 23 posts in it.

Not spam. Not test posts. Real articles, some of them several hundred words long, on topics the site actually covers. Duplicates, mostly. Two posts on the same subject, written in different sessions by subagents that had no idea the other one existed.

That’s the thing nobody tells you about AI agents when you first start using them. They don’t know what they don’t know. A subagent spawns with whatever context you give it in the brief. If you don’t tell it what’s already been written, it will write it again. Confidently. Without hesitation.

No rules means no limits

The early sessions on SmallBizAI.au were fast. That was the point. I’d spin up a subagent, give it a topic, and it would research, write, and publish in one go. No checklist. No duplicate check. No review step. Speed was the metric.

What I didn’t account for was that each subagent started from zero. No memory of previous sessions. No awareness of what had already been published. No idea that three weeks earlier, a different subagent had written almost the same post under a slightly different title.

The implicit rules that felt obvious to me weren’t obvious to them, because I’d never said them out loud. Don’t publish something that already exists. Check before you schedule. Don’t hardcode dates. Run the AI-writing audit before the post goes live. These weren’t in any file. They lived in my head, which meant they lived nowhere the agent could access.

The results were predictable once I looked at them clearly. Duplicate posts. Scheduling conflicts. Posts that went out without sources cited. A featured image that was a Melbourne skyline on a fintech comparison article. All technically correct behaviour given the instructions provided. All wrong.

The trash folder tells a story

Every rule in AGENTS.md exists because something broke without it.

The rule about never using do_action('litespeed_purge_all') inside Code Snippets: that one came from a live site crash. Instant 500 error, site down, fix required under pressure. It’s one line in the file now. At the time it was not a good afternoon.

The rule about Rank Math being the single source of truth for redirects (not .htaccess, not Code Snippets, not anything else): that came from a redirect conflict that took two sessions to untangle.

The duplicate check script (check_duplicate_post.py) didn’t exist for the first few months. It exists now because I kept finding the same topic covered twice. The script is mandatory before any publish. That rule is also in AGENTS.md. Before I wrote it down, I said it repeatedly. After I wrote it down, I stopped having to.

AGENTS.md started as a short file. It’s over 100 lines now. Every line was added because a session went sideways without it.

The publish checklist lives at projects/content-strategy/publish-checklist.md and tells the same story. Subagents kept skipping steps: no focus keyword set, no Rank Math meta, no hub backlink, pipeline hooks not run. Each skipped step got added to the checklist. The checklist now travels with every subagent brief.

The cron graveyard

At some point I ran openclaw doctor and looked at the cron job list properly. Fifty-five active jobs. A handful were pointing at scripts that no longer existed. A few more were duplicating work that other crons were already doing. Several had been set up in sessions where the context was slightly different and the brief had evolved, but nobody had cleaned up the old version.

It’s the subscription problem applied to automation. You set something up, it runs in the background, you forget about it. Months later you’re running things you don’t use, can’t explain, and aren’t sure it’s safe to delete.

The fix was the same as everything else: write it down. memory/cron-jobs.md now tracks every cron, what it does, and when it was last verified. Any session that adds or changes a cron is supposed to update that file. When it doesn’t, the next audit catches it.

Structure, not smarter AI

The honest version of what happened: I was treating a stateless tool as though it had memory, and then being surprised when it didn’t.

The agents aren’t smarter now. The briefs are more complete. The rules are written down. The checks are mandatory rather than optional. The team structure (Claw coordinating, Dash writing, Scout researching, Data analysing, Eddie auditing) means each agent operates in a defined lane with scoped context, rather than one agent trying to hold everything in a brief that gets longer and less coherent over time.

Eddie’s job, specifically, is to catch what falls through the cracks: posts that need fixing, queue items that are stale, work that’s been done twice. She doesn’t publish anything. She flags. That separation matters.

The trash folder has been empty for a while now. Not because the agents got better at guessing what I wanted. Because I got better at saying it.

This is why we built the squad . Not because one agent can’t do the work. Because one agent without guardrails will eventually do something you didn’t ask for.

🦞🐱🦉🐶🦫🦅


How Newsjack Turns Breaking News Into a Published Post in Under 2 Hours

I found Newsjack the way I find most good tools — someone tweeted about it.

@elvissun posted it. 176K likes. I clicked through, spent an afternoon setting it up, and pointed it at SmallBizAI.au. The concept: monitor breaking Australian AI and SMB news in real time, score stories by relevance, and tell me how long the window is before the moment passes.

It runs twice a day now. Morning and afternoon scans, results straight to Telegram, as a pitch. I approve. The story is live not long after

What it does

Each scan surfaces the top breaking stories with three things attached: the angle SmallBizAI could take, why we have standing to take it, and roughly how many hours before the story goes cold.

That last number matters. Newsjacking has a tight window. Too fast and you’re reacting to something before the audience knows why it’s interesting. Too slow and you’re the ninth piece on a story that everyone’s moved on from. The tool does the timing math so I don’t have to.

Most days I get two or three candidates. Most days I ignore them. Sometimes one is worth the 90 minutes.

An earlier example

When the federal government published its first AI transparency report, and more than half of agencies failed it, the monitor flagged it within hours. The SmallBizAI angle was obvious: if federal agencies can’t get AI accountability right, small businesses need to understand the direction regulation is heading.

That post, “More Than Half of Australia’s Federal Agencies Failed Their First AI Transparency Test”, went from signal to published the same day. It’s been in the Bing AI citation leaderboard ever since.

This morning

The monitor flagged a piece from the AFR: “How AI is enhancing the nation’s workforce.” Published Friday afternoon. Eight hours left in the window at the time of the scan.

The story covered how Australian organisations have crossed from AI experimentation into full deployment — Databricks research, a Great Southern Bank case study. Classic enterprise framing. The SmallBizAI angle: strip out the enterprise language, translate the data foundations lesson for Australian small businesses still figuring out whether to commit.

Claw wrote the draft. I reviewed it, moved the schedule from next Wednesday to 11am this morning, and it went live before lunch. Under two hours from signal to published.

The part I didn’t expect

The AFR piece quoted Adam Beavis, Databricks’ VP for Australia and New Zealand, I worked with Adam when I was at Microsoft, he was at a partner at the time. Years later he was on the other side of the table when I interviewed for my first role at AWS. Two different eras of the Australian tech industry, and he shows up in a breaking news story my AI agent surfaced on a Saturday morning.

Small world. Good story.

The naming moment

After the post went live I started looking at where these posts actually live on the site. The category was called “Newsjack Finds.” Accurate. Not useful to anyone who didn’t already know what newsjacking was. SmallBizAI is not a news site. We don’t cover everything. We pick the stories where we have something specific to say, and we say it fast. That’s not “Newsjack Finds.” That’s Hot Takes.

We renamed the category, updated the homepage card, and 🔥 Hot Takes is now one of the four links in the News & Trends hub. In the same session we wrote and published the post.

Tool. Story. Category. One Saturday morning.

What’s different now

SmallBizAI has always been a library. 880+ posts, 41 industries, guides that stay useful for years. That’s the core and it stays the core.

Hot Takes is something different. It’s the site’s pulse, proof that someone’s paying attention to what’s happening right now and has a view on it. The AFR documents the end of the AI pilot phase. SmallBizAI turns that into something useful for the person running a café, a plumbing business, or a small accounting firm.

The tool found the story. The AI wrote the post. The human recognised the category that needed to exist.

That’s the build.


Newsjack is built by @elvissun. SmallBizAI uses the 🔥 Hot Takes category for reactive posts triggered by the monitor.


From One Sale to Twelve Products: How We Built the SmallBizAI.au Prompt Packs

The first prompt pack sale happened on a Sunday in April. AU$9. Someone in professional services bought the Bill Time, Not Admin Time pack. Fifty AI prompts for accountants, lawyers and consultants.

I messaged Claw. “We sold something.” The reply came back in about two seconds: “Nice. Now let’s sell more.”

That was The First Sale — AU$9 and What It Meant. We had a few packs live, others being built, and no real idea whether anyone would pay for this stuff. Six weeks later, we have twelve products, a dedicated /prompt-packs/ page, and a proper system for building them. Here’s how we got there.

Why Prompt Packs at All

The free prompts page (50 prompts behind an email gate) was always the lead magnet. The paid packs were the upsell. The logic was simple enough: if someone’s already using AI in their café or their tradie business, a pack of 200 purpose-built prompts for that specific industry is worth more to them than a generic guide.

We’d already written hundreds of how-to posts across different industries. That content was sitting there showing us what people searched for. The packs were a natural extension of what we were already doing.

How We Decided Which Ones to Build

Wave 1 was instinct: tradiescafésallied healthprofessional services. Those industries had the strongest existing content on SmallBizAI.au and readers who want practical, specific help rather than a general introduction to ChatGPT.

Wave 2 got more deliberate. Three filters:

Which industries had strong Bing AI citation counts but no pack yet? Finance and accounting kept appearing in the citation data. Retail too. People were finding us for those topics but we weren’t selling anything related to them.

Which categories had real content depth on the site? Beauty and wellness had grown quietly into one of our stronger clusters. Agriculture was underserved in the AI tools space generally, but Australian farmers are earlier AI adopters than most people expect.

What was missing from the professional services cluster? We had a general professional services pack. But accountants and bookkeepers have specific problems: BAS, payroll, reconciliation, client reporting. Distinct enough to deserve their own product.

The six Wave 2 packs: RetaileCommerceFinance and AccountingAccountants and BookkeepersBeauty and WellnessAgriculture.

How We Knew Which Packs to Build Next

Claw built a script that automatically added upsell blocks to relevant posts. The tradie how-to posts got a “50 AI prompts for tradies” block at the bottom. The café posts got the café pack. Every industry cluster got its own upsell.

That did two things. It drove actual sales. And it told us which industries were clicking through but not finding what they needed yet. Finance and accounting upsells were getting clicks before we had a finance pack. That’s a data signal, not a guess. It turned the content library into a product research tool.

The Cover and Icon Pipeline

Every product needs a cover and an icon. Twelve covers, twelve icons, all consistent.

Claw built a PIL script. Python Imaging Library. Dark green background, gold text, SmallBizAI.au branding. One script, parameterised by product title. The whole batch took about eight minutes to generate.

One thing to know: Gumroad’s API doesn’t accept direct image file uploads, but cover images can be set via the preview_url parameter, passing a public image URL. We discovered this after the fact. For the first batch, we generated all twelve covers programmatically and uploaded them through the dashboard. Less elegant than we’d hoped, but done in one sitting.

The other thing we learned the hard way: Gumroad silently rejects WebP images. No error, just nothing. Stick with PNG, JPG or GIF per the documentation.

The covers are also the featured images on the /prompt-packs/ page, uploaded to WordPress media and baked into the page layout.

The Gumroad CLI

While writing this post I found the Gumroad CLI. It’s described as “built for humans and AI agents alike”, which is exactly what we are.

The basic workflow: gumroad files upload ./pack.pdf, then gumroad products update <id> --file ./pack.pdf --file-name "Pack Name.pdf". Combined with the preview_url API parameter for covers, that’s a complete pipeline: generate prompts, create product via API, upload PDF via CLI, set cover image, publish. No Gumroad dashboard needed at all.

Waves 1 and 2 were already done manually. Wave 3 onwards will be fully automated.

The /prompt-packs/ Page

Before /prompt-packs/ existed, the products were listed on the Resources page and under “Practical Resources” on the homepage. Easy to miss unless you knew where to look. This was our first proper digital products listing on the site. It just didn’t have a home that matched what it was.

We built the dedicated page: all twelve products in one place, grouped by audience type, with covers, descriptions, and direct Gumroad links. The Resources page and the homepage both now point to it. It’s similar to the actual Gumroad product page, but shows the covers rather than icons.

The path is now: homepage → prompt-packs → individual product. That’s how it should have been from the start. It’s also been added to the menu navigation, so it’s in plain sight.

What We’re Tracking Now

UTM (Urchin Tracking Module) links were added for each product across three sources: the site itself, the newsletter, and social. These will tell us which channel is actually driving sales rather than guessing. The first sale was a guess that paid off. Twelve products is something closer to a system. The data will tell us which packs resonate, which industries convert, and where to put energy next.

One thing is already clear: the people most likely to buy are the ones who’ve already found us through a specific industry post. They know what they need. They just needed a product that matched.