A few days ago, a new subscriber sent me this message:
“I actually asked ChatGPT for recommendations! Subshack was the second or third suggestion, I think. I tried the first one and was disappointed within about 15 minutes, so I moved on to yours 😂.”
That message came from Christine F., who discovered my SaaS independently through ChatGPT.
It was my first direct confirmation that someone had found Subshack through an AI recommendation.
But one referral doesn’t prove consistent AI visibility.
So I dug into my server logs, crawler activity, and referral data to understand what was actually happening.
Here’s what I found, what worked, and what didn’t.
1. What the logs prove, and what they do not
First, an important distinction.
My server logs and analytics show AI crawlers reading Subshack’s structural files, including /llms.txt, sitemap.xml and robots.txt. They also show live requests from ChatGPT-User, plus Chrome Web Store visits and installations attributed to referrers such as chatgpt.com / ai-assistant.
That proves Subshack is being found and used by AI systems.
It does not prove that AI visibility has suddenly transformed the business. Subshack is still a freemium product with €0 in SaaS MRR. AEO, or Answer Engine Optimization, is bringing qualified attention, but it is not a shortcut to revenue.
2. Four things I found in the server logs
I added server middleware in middleware.ts to record an ai_agent_seen event. The logs quickly became more useful than I expected.
The first visitor from ChatGPT
Between August 26 and 30, 2026, the first clear acquisition signal appeared in the Chrome Web Store analytics. There was one view, one session and one installation on the same day from a chatgpt.com / ai-assistant referral.
Someone had asked ChatGPT for a recommendation, followed the cited link and installed Subshack.
ClaudeBot explored the site but ignored llms.txt
At the end of August, GPTBot requested /llms.txt twice. ClaudeBot behaved differently. It requested robots.txt 11 times, loaded the sitemap 10 times and followed 74 internal links, but never visited /llms.txt.
The file existed, but ClaudeBot had no visible HTML link leading to it.
I added a link to /llms.txt in the website footer. From September 2 onward, Anthropic and other agents started reading it.
That was a useful lesson: creating a machine-readable file is not enough. It still needs to be part of the site’s real navigation structure.
Amazonbot exposed a Markdown problem
On September 3, the error logs showed strange 404 requests such as /blog): and /tools):. They came from Amazonbot.
It was reading the raw Markdown in /llms.txt, but it sometimes included the closing parenthesis from [text](url) in the requested URL.
I fixed the link formatting. More importantly, those errors gave me direct evidence that the crawler was reading and interpreting the Markdown file rather than simply scraping the website’s HTML.
ChatGPT-User started calling a public tool
From September 13, I began seeing ChatGPT-User load the public Subscribe-Back Checker at /tools/substack-subscribe-back-checker about nine times per week.
ChatGPT-User appears when someone asks ChatGPT to browse the web during a conversation. In this case, ChatGPT can open the tool page, collect the information it needs and summarize the answer without requiring the user to visit Subshack.
There may be no human click, but the product is still part of the answer.
3. The four layers I put in place
The results did not come from one file or one SEO trick. I built four connected layers.
Discovery
Subshack exposes robots.txt, sitemap.xml, feed.xml and /llms.txt. The /llms.txt file explains the product’s use cases, positioning and useful links. It is also linked from the footer.
Pages that answer specific questions
I created guides around clear user intent, including “Substack Followers vs Subscribers,” “Subshack vs WriteStack” and “Substack SEO.” The site also uses Schema.org markup such as SoftwareApplication and WebApplication.
The goal is simple: when an assistant looks for an answer, it should find a page focused on that exact question.
Tools that calculate real answers
An LLM cannot invent a reliable profile-audit score. It needs a tool that can calculate one.
Subshack has two public tools at /tools/substack-profile-audit and /tools/substack-subscribe-back-checker. They return dynamic results that an AI assistant can use when answering a user.
I also built an MCP, or Model Context Protocol, connector that lets users query their own Substack data from Claude or ChatGPT through the extension.
Separate measurement for each type of traffic
I keep three signals separate in PostHog and the server logs:
indexing crawlers such as
GPTBotandClaudeBot;live browsing requests from
ChatGPT-User;human referrals from sites such as
chatgpt.comandperplexity.ai.
Mixing these together would make the numbers almost meaningless. A crawler visit is not a person, and a live AI request is not necessarily a click.
4. The numbers so far
Subshack product and website
Public profile audits: 278 distinct Substack profiles audited in total, with 28 completed audits during the last 30 days.
Chrome and Firefox extension installs: 55 retained devices after ADR-182 filtering.
Weekly activity: 21 to 22 unique active users per week, measured through
extension_active_people.Google Search Console: an average search position between 7.3 and 8.2.
Subshack Growth on Substack
Audience: 325 email subscribers and 467 followers.
Content: 263 Notes and 26 published articles.
Monetization: the first paid subscriber converted at $117 per year.
These are still early-stage numbers. I am sharing them because they provide context, not because they prove a finished growth model.
The next problem to solve
The AI visibility is working, but the next bottleneck is obvious.
About 66% of people who run a public profile audit are on a smartphone. Once they receive the result, they see an “Add to Chrome” button for a desktop extension they cannot install from that device.
My next experiment is a mobile handoff component on the audit-results page. Instead of sending mobile users to the Chrome Web Store, it will let them email the report and desktop installation link to themselves.
The target is for at least 15% of mobile audit users to complete the handoff, with desktop installations attributed during the following seven days. The public audit will remain free and immediate, without requiring an account before showing the result.
This should take roughly half a day to build in ProfileAuditTool. I will run the experiment for 14 days. If fewer than 5% of mobile users enter an email address, I will simplify the experience to a one-click link copy.
What I learned
AI visibility is mostly an information-design problem.
The product needs clear positioning. Crawlers need obvious paths. Pages need to answer specific questions. Useful calculations should be available through public tools. Analytics need to distinguish robots, live AI requests and real people.
Putting those pieces together helped a young SaaS appear among ChatGPT’s top two or three suggestions for a real user.
It has not made Subshack an overnight success. But it has shown me that a small product can become visible to AI assistants much faster than I expected.








This is greatly insightful, thank you for sharing :)