aeo-platformv1.3.2
Run
2026-05-13
vs
2026-04-23
Queries
3
gptgemclaperp

typelessform

typelessform.com
Unified Visibility Index
60 / 100 Strong
How is this calculated?

Rank (20% weight) not measured this run — its weight is redistributed proportionally across the other components (Presence 35% → 43.75%, Sentiment 25% → 31.25%, Citation 20% → 25%).

ComponentValueWeight appliedContribution
Presence
share of cells where brand was mentioned
42
12/12 cells
43.75%
re-normalised from 35%
18.37
Sentiment
avg tone (50 = neutral)
100
n=2 high-confidence cells (of 12)
31.25%
re-normalised from 25%
31.25
Rank
avg position strength when listed
not measured this run
20%
redistributed
Citation
share of cells with brand domain in citations
42
12/12 cells
25%
re-normalised from 20%
10.50

Sum of contributions = 48.10 · weights applied = 80% · 48.10 / 0.80 = 60 UVI.

Formula: UVI = Σ(value × applied_weight) / Σ(applied_weight), where applied weights are re-normalised over the measured components only.

Named in 5 of 12 answers. You're in the consideration set — push for first-position mentions next. Your domain was always cited alongside the brand name — no «citation without naming» lift cases this run.

+ 9 ptsvs last run
Take action Copy prompt · paste in any AI · get 30-mission plan
Tool output · main deliverable

Your AEO action prompt — paste into ChatGPT, Gemini, Claude & Perplexity for a 30-mission plan.

Your brand context (queries, mentions, competitors, gaps — all signals this run found) is packaged below as a JSON prompt. Grab it and paste into any AI engine. You'll get a personalised 30-mission AEO plan (≈1–3 hours per mission, work at your pace): missions with target subreddits, outreach drafts, listicles to pitch (answer-engine optimisation — what SEO is becoming as people search inside AI). The only open-source AEO tracker that does this — free alternative to Otterly, Profound, and Peec, no signup, no vendor lock-in.

Or skip the DIY step — we'll hand-build the plan for you. Or skip the work: a hand-built plan is coming. Join the waitlist — first 10 get the first plan free.

YOUR DATA ~12 KB JSON DIY · YOUR AI one-shot · no review CURATED · WE REVIEW audit cross-check draft FREE DIY plan ~60 sec · in your AI chat PRE-RELEASE Webappski plan $29 per plan · 30 missions
copies the JSON + AI prompt to your clipboard

👁 Review the JSON below carefully before sharing — this is your data. We don't store it; what gets sent to your AI (or our team) is on you.

~13 KB · no PII · no API keys · no message content
{
  "schemaVersion": "1.1",
  "generatedAt": "2026-06-15T14:34:19.200Z",
  "tracker": {
    "version": "1.3.2",
    "runDate": "2026-05-13"
  },
  "identity": {
    "brand": "typelessform",
    "domain": "typelessform.com",
    "lang": "en"
  },
  "aggregates": {
    "score": 42,
    "mentions": 5,
    "total": 12,
    "totalQueries": 3,
    "providerCount": 4,
    "regions": []
  },
  "scores": {
    "uvi": 42,
    "presence": 42,
    "sentiment": 100,
    "rank": null,
    "citation": 42,
    "sample": 12,
    "sentimentSample": 2,
    "rankSample": 0
  },
  "perEngine": [
    {
      "provider": "openai",
      "label": "ChatGPT",
      "model": "gpt-5-search-api",
      "hits": 3,
      "total": 3,
      "pct": 100,
      "presence": 100,
      "sentiment": null,
      "rank": null,
      "citation": 100
    },
    {
      "provider": "gemini",
      "label": "Gemini",
      "model": "gemini-2.5-pro",
      "hits": 2,
      "total": 3,
      "pct": 67,
      "presence": 67,
      "sentiment": 100,
      "rank": null,
      "citation": 67
    },
    {
      "provider": "anthropic",
      "label": "Claude",
      "model": "manual",
      "hits": 0,
      "total": 3,
      "pct": 0,
      "presence": 0,
      "sentiment": null,
      "rank": null,
      "citation": 0
    },
    {
      "provider": "perplexity",
      "label": "Perplexity",
      "model": "manual",
      "hits": 0,
      "total": 3,
      "pct": 0,
      "presence": 0,
      "sentiment": null,
      "rank": null,
      "citation": 0
    }
  ],
  "perCell": [
    {
      "queryId": "Q3",
      "provider": "openai",
      "mention": "yes",
      "position": null,
      "citationCount": 5,
      "competitors": [
        "AgentFillAI",
        "FormBuddy"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": true,
      "sentiment": {
        "label": "neutral",
        "confidence": "low"
      },
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q1",
      "provider": "gemini",
      "mention": "yes",
      "position": null,
      "citationCount": 10,
      "competitors": [
        "Form2Agent"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": true,
      "sentiment": {
        "label": "positive",
        "confidence": "high"
      },
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q3",
      "provider": "gemini",
      "mention": "yes",
      "position": null,
      "citationCount": 11,
      "competitors": [
        "Form2Agent",
        "AnveVoice"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": true,
      "sentiment": {
        "label": "positive",
        "confidence": "high"
      },
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q1",
      "provider": "openai",
      "mention": "yes",
      "position": null,
      "citationCount": 17,
      "competitors": [
        "AnveVoice",
        "SayFill",
        "TalkToForm.ai"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": true,
      "sentiment": {
        "label": "neutral",
        "confidence": "low"
      },
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q2",
      "provider": "openai",
      "mention": "yes",
      "position": null,
      "citationCount": 10,
      "competitors": [],
      "responseQuality": "rich",
      "hasBrandInCitations": true,
      "sentiment": {
        "label": "neutral",
        "confidence": "low"
      },
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q2",
      "provider": "gemini",
      "mention": "no",
      "position": null,
      "citationCount": 12,
      "competitors": [],
      "responseQuality": "rich",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q1",
      "provider": "anthropic",
      "mention": "no",
      "position": null,
      "citationCount": 0,
      "competitors": [
        "Voiceform"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q2",
      "provider": "anthropic",
      "mention": "no",
      "position": null,
      "citationCount": 0,
      "competitors": [],
      "responseQuality": "narrative",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q3",
      "provider": "anthropic",
      "mention": "no",
      "position": null,
      "citationCount": 0,
      "competitors": [],
      "responseQuality": "rich",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q1",
      "provider": "perplexity",
      "mention": "no",
      "position": null,
      "citationCount": 0,
      "competitors": [
        "AnveVoice",
        "Vocale.ai"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q2",
      "provider": "perplexity",
      "mention": "no",
      "position": null,
      "citationCount": 0,
      "competitors": [
        "AnveVoice"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    },
    {
      "queryId": "Q3",
      "provider": "perplexity",
      "mention": "no",
      "position": null,
      "citationCount": 0,
      "competitors": [
        "AgentFillAI",
        "Vaadin AI Form Filler"
      ],
      "responseQuality": "rich",
      "hasBrandInCitations": false,
      "sentiment": null,
      "region": null,
      "tag": null
    }
  ],
  "topCompetitors": [
    {
      "name": "AnveVoice",
      "mentionCount": 4,
      "verified": true
    },
    {
      "name": "AgentFillAI",
      "mentionCount": 2,
      "verified": true
    },
    {
      "name": "Form2Agent",
      "mentionCount": 2,
      "verified": true
    },
    {
      "name": "FormBuddy",
      "mentionCount": 1,
      "verified": true
    },
    {
      "name": "SayFill",
      "mentionCount": 1,
      "verified": true
    },
    {
      "name": "TalkToForm.ai",
      "mentionCount": 1,
      "verified": true
    },
    {
      "name": "Voiceform",
      "mentionCount": 1,
      "verified": true
    },
    {
      "name": "Vocale.ai",
      "mentionCount": 1,
      "verified": true
    }
  ],
  "topCanonicalSources": [
    {
      "url": "https://typelessform.com/?utm_source=openai",
      "count": 3
    },
    {
      "url": "https://typelessform.com",
      "count": 2
    },
    {
      "url": "https://anvevoice.app/features/form-filling?utm_source=openai",
      "count": 2
    },
    {
      "url": "https://www.sayfill.com/?utm_source=openai",
      "count": 2
    },
    {
      "url": "https://www.agentfillai.com/?utm_source=openai",
      "count": 1
    },
    {
      "url": "https://www.fillwizard.com/?utm_source=openai",
      "count": 1
    },
    {
      "url": "https://formbuddy.ai/he/?utm_source=openai",
      "count": 1
    },
    {
      "url": "https://instafill.ai/features/multilingual-support?utm_source=openai",
      "count": 1
    },
    {
      "url": "https://medium.com",
      "count": 1
    },
    {
      "url": "https://teamtreehouse.com",
      "count": 1
    }
  ],
  "topCitationDomains": [],
  "crawl": {
    "hasRobotsTxt": true,
    "hasLlmsTxt": true,
    "hasSitemap": true,
    "sitemapUrlCount": 26,
    "totalBots": 12,
    "allowedCount": 12,
    "blockedCount": 0,
    "bots": []
  },
  "authority": {
    "wikipedia": {
      "found": false,
      "type": null,
      "lastModified": null
    },
    "reddit": {
      "found": false,
      "mentionCount": 0,
      "topSubreddits": []
    },
    "profile": {
      "type": "default",
      "extras": []
    }
  },
  "topics": [
    {
      "topic": "form",
      "queryIds": [
        "Q3",
        "Q1",
        "Q2"
      ],
      "hits": 5,
      "total": 12,
      "rate": 42
    }
  ],
  "basket": {
    "version": 1,
    "queriesAddedSince": "2026-05-18",
    "trendCutoff": "2026-05-18",
    "totalQueries": 3,
    "kind": "initial"
  },
  "pageSignals": {
    "domain": "typelessform.com",
    "fetchedAt": "2026-05-13T12:43:46.112Z",
    "headings": {
      "h1Count": 1,
      "h2Count": 9,
      "h1Samples": [
        "TypelessForm — One-Shot Voice Form Filling Widget"
      ]
    },
    "answerCapsules": {
      "totalH2": 9,
      "withCapsule": 1,
      "coverage": 11
    },
    "schemaOrg": {
      "blockCount": 10,
      "types": [
        "Organization",
        "SoftwareApplication",
        "FAQPage",
        "HowTo",
        "Product",
        "DefinedTerm",
        "WebApplication",
        "SoftwareSourceCode",
        "VideoObject",
        "BreadcrumbList"
      ],
      "hasOrganization": true,
      "hasFaqPage": true,
      "hasBreadcrumb": true,
      "hasPerson": false,
      "hasArticle": false
    },
    "faq": {
      "schemaCount": 8,
      "heuristicCount": 8,
      "total": 8
    }
  },
  "entityGraph": {
    "domain": "typelessform.com",
    "sameAsCount": 4,
    "edges": [
      {
        "url": "https://www.npmjs.com/package/typelessform-widget",
        "platform": "npm",
        "host": "npmjs.com",
        "status": "reciprocates",
        "confidence": "high"
      },
      {
        "url": "https://www.producthunt.com/products/typelessform",
        "platform": "producthunt",
        "host": "producthunt.com",
        "status": "reciprocates",
        "confidence": "high"
      },
      {
        "url": "https://typelessity.com",
        "platform": "typelessity.com",
        "host": "typelessity.com",
        "status": "unreachable",
        "confidence": "high"
      },
      {
        "url": "https://typelessform.com/blog/what-is-voice-form-filling",
        "platform": "typelessform.com",
        "host": "typelessform.com",
        "status": "reciprocates",
        "confidence": "high"
      }
    ],
    "summary": {
      "reciprocates": 3,
      "oneWay": 0,
      "unreachable": 1,
      "verifiedHost": 0,
      "brokenLink": 0,
      "reciprocityRate": 75
    }
  },
  "competitorPricing": null,
  "regionContext": null,
  "responseFreshness": {
    "overall": "mixed",
    "counts": {
      "fresh": 6,
      "stale": 0,
      "unknown": 6,
      "total": 12
    },
    "perProvider": {
      "openai": {
        "fresh": 3,
        "stale": 0,
        "unknown": 0,
        "total": 3,
        "latestYear": null,
        "verdict": "fresh"
      },
      "gemini": {
        "fresh": 3,
        "stale": 0,
        "unknown": 0,
        "total": 3,
        "latestYear": null,
        "verdict": "fresh"
      },
      "anthropic": {
        "fresh": 0,
        "stale": 0,
        "unknown": 3,
        "total": 3,
        "latestYear": null,
        "verdict": "mixed"
      },
      "perplexity": {
        "fresh": 0,
        "stale": 0,
        "unknown": 3,
        "total": 3,
        "latestYear": null,
        "verdict": "mixed"
      }
    },
    "perCell": [
      {
        "provider": "openai",
        "freshness": "fresh",
        "confidence": "high",
        "latestYearMentioned": null,
        "usedWebSearch": true
      },
      {
        "provider": "gemini",
        "freshness": "fresh",
        "confidence": "high",
        "latestYearMentioned": null,
        "usedWebSearch": true
      },
      {
        "provider": "gemini",
        "freshness": "fresh",
        "confidence": "high",
        "latestYearMentioned": null,
        "usedWebSearch": true
      },
      {
        "provider": "openai",
        "freshness": "fresh",
        "confidence": "high",
        "latestYearMentioned": null,
        "usedWebSearch": true
      },
      {
        "provider": "openai",
        "freshness": "fresh",
        "confidence": "high",
        "latestYearMentioned": null,
        "usedWebSearch": true
      },
      {
        "provider": "gemini",
        "freshness": "fresh",
        "confidence": "high",
        "latestYearMentioned": null,
        "usedWebSearch": true
      },
      {
        "provider": "anthropic",
        "freshness": "unknown",
        "confidence": "low",
        "latestYearMentioned": null,
        "usedWebSearch": false
      },
      {
        "provider": "anthropic",
        "freshness": "unknown",
        "confidence": "low",
        "latestYearMentioned": null,
        "usedWebSearch": false
      },
      {
        "provider": "anthropic",
        "freshness": "unknown",
        "confidence": "low",
        "latestYearMentioned": null,
        "usedWebSearch": false
      },
      {
        "provider": "perplexity",
        "freshness": "unknown",
        "confidence": "low",
        "latestYearMentioned": null,
        "usedWebSearch": false
      },
      {
        "provider": "perplexity",
        "freshness": "unknown",
        "confidence": "low",
        "latestYearMentioned": null,
        "usedWebSearch": false
      },
      {
        "provider": "perplexity",
        "freshness": "unknown",
        "confidence": "low",
        "latestYearMentioned": null,
        "usedWebSearch": false
      }
    ]
  }
}
Route A · DIY · free

Roll your own.

Generic AI drafts your 30 missions from the JSON above. Fast, free, and unaware of the traps below.

  • Walks into account-gated platforms blind — bans become highly likely.
  • Self-promo where it isn't welcome turns into permanent reputation harm.
  • A single ban can roll your AEO progress back by months.
Free · ~60 seconds. No review, no audit, no second pair of eyes.
Route B · Curated · pre-release

Let us hand-build it.

Tracked in Mission Control, our plan dashboard. Every line read by a person before it reaches your inbox.

  • 30-mission schedule — every mission with a recommended day, work at your pace.
  • Account-readiness audit for each platform before scheduling.
  • When a platform won't have you, we point to one that will.
  • Human-reviewed plan — every line read by a person before delivery.
Join the waitlist

First 10 customers get a free 30-mission AEO plan (≈1–3 hours per mission, work at your pace). $29 after that. Limited spots.

$29 per plan · one-time, no subscription · demo + signup on the linked page.
01 Overview

where the score is heading

next · 02 visibility
Trend · 2 runs

Trend chart available from week 4

Currently 2 of 4 runs collected. A line through 2-3 points is statistical noise — the chart unlocks after week 4.

Top gap

No listicles in pool

0 of 4 cited domains are listicles. You're already named in 5 answers — push for inclusion in the listicle pool too.

0 of 4 listicle slots
02 Visibility

per engine, by query

next · 03 competitors
Per-engine visibility absorbs Coverage shape

Named in 5/12 cells

Per-engine breakdown — bar shows mention rate, footnote shows citation count.

ChatGPT gpt-5-search-api
100%
Hits 3 / 30 citations
Gemini gemini-2.5-pro
67%
Hits 2 / 30 citations
Claude manual
0%
Hits 0 / 30 citations
Perplexity manual
0%
Hits 0 / 30 citations
Query × engine matrix heatmap + position + sentiment

Each cell is one AI answer. Status badge tells you what the engine did with your brand.

5/ 12cells with your brand39competitor mentions logged65URLs in citation pool · yours in 5 cells
Query
ChatGPT
Gemini
Claude
Perplexity
row Σ
Q1AI form filling widget with multilingual support
named no rank neutral
named no rank positive
vsDeformity+3 no rank n/a
vsAgentFillAI+3 no rank n/a
2/ 4
Q2voice form autofill service for web developers
named no rank neutral
named no rank positive
vsVoiceform+3 no rank n/a
vsAnveVoice+3 no rank n/a
2/ 4
Q3voice form filling solution for e-commerce checkout
named no rank neutral
vsAmazon+2 0 / 12 cited n/a
clean no rank n/a
vsAnveVoice+1 no rank n/a
1/ 4
No sentiment data this run

Sentiment is computed only when AI names the brand in its answer. This run: 0 named cells → nothing to classify. Earn a mention first — see Citations and Actions below.

named — brand surfaced cited — brand sourced no mention — competitor named no mention — clean blank error — engine unavailable
Position view shows brand rank #N when AI named you, or 0 / N cited showing your share of the citation pool.
Sentiment view classifies how AI framed your brand: ● positive · ● neutral · ● negative. Only computed for named/cited cells.
03 Competitors

who AI named instead

next · 04 citations
Most-named brands

AnveVoice leads

8 distinct competitors named. Top 3 collected 8 of 13 mentions.

  1. 01AnveVoice4×
  2. 02AgentFillAI2×
  3. 03Form2Agent2×
  4. 04FormBuddy1×
  5. 05SayFill1×
  6. 06TalkToForm.ai1×
  7. 07Vocale.ai1×
  8. 08Voiceform1×
4-axis radar

Ahead on 2 of 4 axes

Each axis 0–100. Larger polygon = stronger signal; your shape outside the top-3 reference = ahead, inside = behind.

25 50 75 100 Presence Mentions Rank Sentiment typelessform Top-3 avg
Axis You Top-3 Δ
Presence 50 50 =
Mentions 100 67 +33
Rank 50 50 =
Sentiment 70 50 +20
04 Citations

who AI cites about your category

next · 05 actions
Domain share of voiceAll 10 domains

typelessform.com is in the pool — defend it

These publishers feed AI most of the category citations. You're in the list — defend it.

typelessform.com
11%
anvevoice.app
7%
agentfillai.com
4%
instafill.ai
4%
google.com
4%
sayfill.com
4%
By category

Other dominates

Other carries 95% of citations — that's where the lift compounds.

Other
95%
Blog / publication
5%
05 Actions

what to ship this week

next · 06 diagnostics
Recommended actions absorbs Actionable Gaps

5 ordered moves

Prioritised by visibility-gap impact. Day labels are heuristic — adjust to your week.

01

Publish three query-match landing pages

This week, create 3 indexable pages titled around the exact missing prompts: “voice form autofill service for web developers,” “voice form filling solution for e-commerce checkout,” and “AI form filling widget with multilingual support.” On each page, state in the first 2 paragraphs that typelessform does one-shot voice form filling for HTML forms, supports 25+ languages, and is embeddable as a widget/API, because Claude and Perplexity currently return 0/3 mentions.

Day 1–2 Outreach
High
02

Displace AnveVoice on cited feature page

AnveVoice is the most visible competitor (4 checks) and its /features/form-filling page is cited 2×, so publish a directly comparable typelessform page at /features/form-filling with a clear H1 like “One-shot voice form filling for HTML forms.” Include a compact comparison table naming AnveVoice and contrasting one-sentence autofill, multilingual support, checkout use cases, and developer integration so answer engines have a stronger canonical page to quote.

Day 1–2 Content
High
03

Add e-commerce checkout proof page

Gemini missed and Claude/Perplexity missed the exact query “voice form filling solution for e-commerce checkout,” so ship a dedicated /solutions/ecommerce-checkout page with concrete fields typelessform can fill in one utterance: name, shipping address, phone, email, and delivery notes. Add one short demo GIF or screenshot plus FAQ copy using the exact phrase “voice form filling for e-commerce checkout” to improve retrieval.

Day 1–2 Outreach
High
04

Pitch cited canonical sources directly

Because Medium is already cited in this vertical and AnveVoice/SayFill pages are being used as source material, publish a Medium post this week titled close to the winning prompts, e.g. “AI form filling widget with multilingual support for HTML forms.” In the article, mention typelessform.com prominently, link to the 3 new landing pages, and include exact query phrases so engines that ingest Medium have a third-party citation path.

Day 3–5 Listings
Med
05

Strengthen pages already winning

You already win 3/3 on ChatGPT and 2/3 on Gemini, so update the homepage and product page this week to repeat the exact successful terms “voice form autofill service for web developers” and “AI form filling widget with multilingual support.” Add a short developer-focused section with HTML form, widget, API, and 25+ languages in one block to protect current mentions while new pages index.

Day 3–5 Defend
Med
06 Diagnostics

site readiness, cost, ads

end of report
Site readiness crawlability + AI-bot crawl readiness + llms.txt

Fully crawlable

100/100
robots.txt864 bytes
llms.txtpresent
sitemap.xml26 URLs
12 / 12 AI crawlersall allowed
Authority presence

Authority-Source Presence

Off-page signals AI engines weight heavily — they're part of the ground-truth corpus most LLMs trained on.

SourceStatusDetail
Wikipedia✗ No articleCreate one
Reddit✗ Not discussedNo discussion yet — see hints below

Why this matters · 2 hints

  • No Wikipedia article — earn coverage in 3+ independent reliable sources first, then a third party can create one (you cannot create your own per WP:COI).
  • No Reddit discussion — find subreddits in your category (search bar) and answer questions with verifiable expertise. Do not spam.
Geo

Untargeted

No region context this run — AI engines answered with their own implicit defaults. Add --geo=us,uk,de for pinned regional context.

1 region untargeted
AI ads detected

Clean

No sponsored slots in answers about your category this run.

0 ads
UTM citations

3 tagged hits

AI traffic with UTM attribution.

3