AI SEO Audit: The First Production Service Built on SysMARA
SysMARA has spent most of its life so far being its own first customer. Every release note so far has been about scaffolding, ORM behaviour, generators, invariants — the framework looking at itself. As of this week that changes. The first public production service built on SysMARA is live at aiseoaudit.vadimages.com, and it ships an idea that lines up neatly with the framework's own bet about where the web is going.
What it does
AI SEO Audit is a free tool that scores any website on the four pillars that actually matter to large language models and AI answer engines — ChatGPT, Claude, Perplexity, and the Google AI Overviews surface:
- Citability & E-E-A-T signals — whether an LLM has any reason to quote you.
- Structured data (JSON-LD) — whether your facts are machine-readable at all.
- AI crawlability — whether the 16 LLM-side bots (GPTBot, ClaudeBot,
PerplexityBot, Google-Extended, and the rest) can actually reach you, including
robots.txt, sitemaps, and the emergingllms.txtconvention. - On-page entity markup — whether the page tells a parser what it is about, not just what it looks like.
Paste a URL, get a shareable report under a minute, no signup. The deliberate framing on the site is "we are not running Lighthouse and calling it AI SEO" — the scoring is mapped to actual LLM retrieval and indexing behaviour, not generic page-speed proxies. That distinction is the whole reason the tool exists.
Why this is the right first production story
SysMARA's premise is that systems should be machine-readable from the inside out: capabilities,
invariants, policies, flows — all first-class artifacts that an AI agent can traverse
without having to reverse-engineer middleware chains. AI SEO Audit's premise is the same idea
pointed outward: a website is also a system, and an LLM trying to read it shouldn't have to
reverse-engineer it either. JSON-LD, llms.txt, clean entity markup,
crawlability — these are the web's version of the same machine-readable contract.
So the framework whose whole thesis is "make the internals legible to AI" is now powering a tool whose whole job is to tell you whether your externals are legible to AI. The fit isn't a marketing line; it's the same constraint applied at two different layers.
What the build actually used
Nothing about AI SEO Audit is a contrived showcase. It's a normal SysMARA project that happens to be in production. The pieces it leaned on:
- Capabilities, not controllers. Each audit operation — queue an audit, score a pillar, emit a report — is a named capability with typed inputs and outputs. Adding a new bot or a new pillar is editing the spec, not chasing decorators across files.
- sysmara-orm with real column types. Audit results, raw crawler payloads,
and shareable report bodies are exactly the shapes that used to silently collapse to
VARCHAR(255)before v0.8.3. The column-type inference work in that release came directly out of building this product. - Scaffolded handlers that already work. Status transitions
(
queue_audit→running→complete), pagination over past audits, actor extraction for shareable links — all generated from the YAML specs the way v0.8 promised, without a round of manual fix-ups after every regeneration. - Structured logs by default. Every audit is a JSON trace an AI agent can read directly — useful when the operator of the service is an AI agent diagnosing why a particular site's score moved.
What changed in SysMARA because of it
Dogfooding-against-yourself catches a class of bugs. Building a real, public-facing service
catches a different class. The two papercuts that v0.8.3 was named after —
db generate not persisting files, and every type: string collapsing
to 255 characters — both surfaced first on this project. So did several of the smaller
follow-ups to the scaffolder. The shortest summary of v0.8.3 is "the things that broke the
first time someone tried to ship a real product."
There will be more of these. The next round of issues will be the ones that only show up when an app has been running in production for weeks, not the ones that show up on day one. That's exactly what we want SysMARA's bug backlog to look like.
Try it
Run your own site through it: aiseoaudit.vadimages.com. Reports are free, shareable, and don't require an account. If you'd like to talk about building the next one of these — a real product on a real schedule, on SysMARA — get in touch.