This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
Confession time: I love building things, but I despise repetitive manual chores.
When the Dev team announced this week's theme — "Slow and Steady: Channel your inner sloth and build something with open-source AI that rewards laziness" — I felt personally seen. Because as web developers, nothing drains our creative energy faster than repetitive, manual debugging tasks that could easily be automated.
And right now, the most tedious, time-consuming rabbit hole in tech is Auditing Websites for AI Search Engines (ChatGPT Search, Perplexity, and Claude).
Here’s the story of why I built SiteReadyForSi, how open-source AI does the heavy lifting, and how it turns hours of manual terminal sleuthing into a relaxing, 10-second coffee break. ☕🦥
What I Built
SiteReadyForSi is an automated technical scanner designed to answer one critical question:
"When an AI search engine (like Perplexity or ChatGPT Search) visits your website, can it actually read and cite your content, or does it see an empty screen?"
The Tedious Manual Chore It Replaces:
Before this tool, auditing a client's website or my own web app for Generative Engine Optimization (GEO) meant doing all of this by hand:
- Opening the terminal to
curlthe URL with different User-Agents (GPTBot,OAI-SearchBot,PerplexityBot,ClaudeBot) to see if any firewall blocks them. - Inspecting the initial raw HTML payload to check if modern React / Next.js Client-Side Rendering (CSR) left an empty
<div id="root"></div>shell with zero extractable text. - Reading through complex
robots.txtregex rules to ensure someone didn't accidentally block live search citations while trying to block model scrapers. - Validating JSON-LD schema graphs (
Organization,SoftwareApplication,FAQPage) to ensure entities are structured for vector retrieval. - Manually checking or formatting a clean
/llms.txtfile for LLM context ingestion.
Doing this manually across multiple pages takes at least 2 hours of mundane, headache-inducing terminal work.
With SiteReadyForSi, you literally punch in your URL, sit back in your chair, and let an automated open-source AI pipeline run all 15 technical checks simultaneously. In 10 seconds, you get a complete readiness score out of 100, a clear visual breakdown, and copy-paste code fixes.
Demo
- Live Web App: https://sitereadyfor.si
- What you can test right now: Enter any public URL (your blog, portfolio, SaaS, or documentation site) and watch the scanner dissect your site's AI readiness in real time. No sign-up or credit card required for the instant baseline audit.
How I Built It
To make the audit genuinely helpful (and not just a dumb regex checker), the platform runs an Intelligent Multi-Stage Open-Source AI Reasoning Pipeline:
1. The Headless Ingestion Engine (Raw vs Rendered Analysis)
The engine fetches the raw server-delivered HTML exactly as high-throughput AI bots do, bypassing client-side hydration. It extracts:
- Server-delivered word counts vs hidden client-only text
- Heading hierarchies (
H1$\rightarrow$H3) - Structured JSON-LD microdata
- Bot directives (
robots.txtand meta robots tags)
2. Multi-Stage Open AI Reasoning Pipeline
Once the technical telemetry is gathered, it is passed into an open-source reasoning model pipeline:
-
The Parser: Normalizes contradictory
robots.txtrules and identifies edge cases (like blockingGPTBotwhile forgetting to whitelistOAI-SearchBot). - The Semantic Extractor: Analyzes whether the initial HTML provides concise, factual answers (following the BLUF principle — Bottom Line Up Front) or if the site is a victim of the Client-Side Rendering "black hole."
-
The Fix Generator: Instead of generic error messages, the AI model generates tailored, drop-in code snippets (e.g. customized
robots.txtblocks and/llms.txtmarkdown files) ready to paste into your repo.
Why Does Open Innovation Matter?
Why build this on open-source AI architectures rather than relying entirely on proprietary closed APIs?
Three massive reasons:
- Unconstrained Throughput & Predictable Cost: Closed APIs charge steep token fees that make large-scale crawl analysis and continuous multi-point site audits prohibitively expensive. Open-source models running on efficient inference infrastructure allow us to run deep reasoning passes on thousands of lines of HTML without worrying about astronomical bill shocks.
- Deterministic Custom Prompts & Agent Control: Closed models often undergo silent updates that change how they parse structured data or hallucinate recommendations. Open-weight architectures give us full determinism: our crawler simulation and schema scoring remain consistent, reproducible, and verifiable.
- Data Privacy for Builders: Webmasters and indie developers don't want their pre-launch staging URLs, private site architectures, or technical crawl policies fed into third-party proprietary training datasets. Open innovation keeps the pipeline transparent, respectful, and developer-first.
The Lazy Payoff
Let's look at the actual numbers:
| Task | The Old Manual Way 🥱 | The SiteReadyForSi Way 🦥 |
|---|---|---|
| Testing AI Bot User-Agents | 20 mins of terminal curl requests |
Instant automated simulation |
| CSR vs SSR Payload Check | 25 mins inspecting raw source code | Automated in 2 seconds |
robots.txt & Schema Audit |
30 mins reading specs & schemas | Validated in 3 seconds |
Generating /llms.txt |
45 mins writing markdown specs | 1-click auto-generated |
| Total Time Spent | ~2 Hours of tedious manual labor | ~10 Seconds (One Click) |
Time Saved: ~98% reduction in developer audit time.
Instead of spending your weekend debugging crawler status codes and wondering why your web app isn't getting cited in ChatGPT Search or Perplexity, you can let open-source AI do the heavy lifting while you channel your inner sloth.
Try It Out
Are you curious whether your site is currently readable by AI search engines or trapped in an empty client-side shell?
Run a quick test on SiteReadyForSi and let me know in the comments what score your site received! 🚀🦥
Top comments (3)
Running the GPTBot, OAI-SearchBot and PerplexityBot requests side by side is the part I'd have automated first too. The robots.txt case where someone blocks GPTBot and forgets OAI-SearchBot is a sneaky one, and it's nice to see it called out.
I'm a Staff SDET, so I ran a quick pass on sitereadyfor.si while I was reading. It came out at 97/100, an A. The one thing I'd change is that the pages have no Open Graph tags at all, so no og:title or og:description on the homepage or /pricing. When someone drops the link into Slack, LinkedIn or X after a good score, the preview card has to guess at a title and usually skips the description. A few og: tags in the head would give it a proper card.
There were 6 other smaller items in the same pass. Do the 15 checks count social tags as part of AI readiness, or do you keep it strictly to what the crawlers read?
Thanks a lot for the thorough pass and the kind words on the multi-bot simulation! Really appreciate a Staff SDET taking the time to inspect under the hood.
You nailed the exact trade-off we debated early on:
The Open Graph (OG) tags: You are 100% spot on about the preview cards in Slack/X/LinkedIn. We prioritized the machine-ingestion pipeline and raw payload parsing first, but social unfurls are crucial when developers share their audit badges. Adding
og:title,og:description, andog:imageto the head across the homepage and/pricingis going straight into this week's sprint.Social tags vs. AI Readiness: To answer your question: right now, our core readiness score focuses strictly on direct machine ingestibility — raw initial HTML payload (SSR vs client-side drops), user-agent directives (
robots.txtsimulation for search bots vs training scrapers), structured JSON-LD entity graph, and/llms.txt.We intentionally separated pure social metadata from the primary score so developers don't get penalized for AI readiness if their technical GEO pipeline is solid. That said, we're considering adding a separate "Sharing & Distribution Signals" sub-card since bots like Perplexity and SearchGPT occasionally reference Open Graph fallbacks if Schema definitions are missing.
Curious to hear what the other small items were from your pass if you don't mind sharing! Always looking to tighten the edge cases. Thanks again for the valuable feedback!
Some comments may only be visible to logged-in visitors. Sign in to view all comments.