aeo-platform: The Open-Source Tool That Measures AI Visibility, Generates a Plan, and Improves It
Most AI visibility trackers stop at a dashboard that tells you where you are invisible. aeo-platform goes one step further: it generates a prioritized, paste-into-AI action plan and re-measures the result. Here is how measure to plan to improve works, with a worked example on our own real data.

aeo-platform is a free, open-source, zero-dependency Node.js CLI that measures how often AI answer engines (ChatGPT, Claude, Gemini, Perplexity) cite your brand, then generates a prioritized 30-mission action plan you paste straight into ChatGPT or Claude to draft each fix. Measuring AI visibility is table stakes — every tracker does it. The differentiator is the second and third step: aeo-platform turns the measurement into an executable plan and re-measures the delta. It is built and maintained by Webappski, an Answer Engine Optimization studio that uses the same tool on its own products before selling the methodology as a service.
Install it with a single command: npm install -g aeo-platform. The current version is 1.1.6, MIT-licensed, with no runtime dependencies (npmjs.com/package/aeo-platform). It runs locally, writes its output to disk, and never sends your data to a hosted dashboard.
This article explains the three steps the tool performs — measure, plan, improve — and walks through a real example using our own voice-to-form product, TypelessForm, with the actual numbers the tool produced. No hypothetical figures: every metric below traces to a real aeo-platform report run on typelessform.com between 2026-04-23 and 2026-05-25.
What Is aeo-platform?
aeo-platform is an open-source command-line tool for Answer Engine Optimization (AEO) — the practice of getting your product cited and recommended inside AI answer engines rather than merely ranked on Google. The tool sends a set of your buyer's real questions to ChatGPT, Claude, Gemini, and Perplexity, records whether each engine mentions your brand and how, and scores the result. It then maps the gaps it found to concrete next steps and emits them as a plan you can act on immediately.
Unlike hosted AEO platforms that run on a subscription and keep your data on their servers, aeo-platform is a local CLI: you install it via npm, supply your own API keys, and run it on your machine. The output — a self-contained HTML report plus a machine-readable summary — stays on your disk. This matters for two reasons: privacy (your competitive query set never leaves your laptop) and reproducibility (anyone can run the same tool on the same brand and get a comparable result, which is exactly what makes a claim citable rather than marketing).
The tool measures four signals and combines them into a single Unified Visibility Index (UVI) on a 0 to 100 scale: Presence (the share of engine-and-query cells where your brand is mentioned at all), Sentiment (the average tone of those mentions), Rank (your average position strength when listed), and Citation (the share of cells that cite your own domain). The UVI is a transparent composite — the weights are published in the source, and when a signal is not measured in a given run its weight is re-normalized across the others rather than silently zeroed.
Why Measuring AI Visibility Is Not Enough
Measuring AI visibility is now a commodity. A growing field of trackers and dashboards will tell you, across six engines and a dozen tabs, exactly which queries you are invisible on. That diagnosis is genuinely useful — but it is only half the job. A rich dashboard tells you where you are invisible. It does not tell you what to do next. The operator is left to translate charts into action on their own, and most solo founders and small teams do not have the time or the AEO expertise to make that translation reliably.
This is the gap aeo-platform is designed to close. The same run that produces the visibility score also produces a prioritized action plan: each gap the tool finds ships as an executable next step, ordered by impact, written so you can paste it directly into ChatGPT or Claude and get a draft of the fix back. The deliverable is a to-do list, not a wallchart. For a solo operator who has two hours a week and needs the single highest-leverage move — not thirteen tabs to read — a plan beats a dashboard.
To be clear, this is not a knock on dashboards. A dashboard is the right tool for an in-house team that monitors AI visibility continuously and already knows how to act on the data. A plan is the better tool for the operator who needs the work itself handed to them. Different jobs; aeo-platform is built for the second.
How the Measure to Plan to Improve Loop Works
aeo-platform runs as a three-step loop. Each step has a single command, and the output of one feeds the next.
- Measure. The tool sends your buyer queries to each configured engine, records whether your brand appears in the answer text, only in the cited sources, or not at all, and scores Presence, Sentiment, Rank, and Citation into a single UVI. It also audits crawlability (are the AI bots allowed to read your site?) and authority signals (Wikipedia, Reddit, GitHub, Wikidata presence). The result is a self-contained HTML report plus a machine-readable summary file.
- Plan. From that summary, the tool generates a prioritized action plan — up to 30 sequenced missions, each tied to a real gap the run surfaced. Every mission is written as a paste-into-AI prompt: you drop it into ChatGPT or Claude and get a draft of the schema block, the comparison page, or the outreach email back. The plan also includes an explicit 'what NOT to do' section so you do not waste effort on work that is already solved.
- Improve. You execute the missions at your own pace, then re-run the tool. Because the run is reproducible and accumulates over time (each run is stored, never overwritten), you get a measured before-and-after — a trend line, a per-query delta, and a 'what changed' table that lists exactly which engine-and-query cells flipped from no to yes.
The third step is what separates aeo-platform from a one-shot audit. AI answer engines are non-deterministic — their answers shift week to week, by session, and by context. A single snapshot is a guess. A loop that re-measures turns the guess into a trend, and a trend is what tells you whether your work is moving the needle or whether the engine simply had a good week.
A Worked Example on Our Own Data: TypelessForm
We do not ask you to trust a hypothetical. Here is the loop run on our own product, TypelessForm — a voice-to-form widget — over four weekly runs, with the real numbers the tool produced. The data below comes from an actual aeo-platform report covering 2026-04-23 through 2026-05-25.
Step 1 — What the Measurement Found
Across twelve checks (four engines times three buyer queries), TypelessForm started the tracked period at 33% presence on 2026-04-23. The three queries were real buyer questions: 'best voice form filling tools 2026', 'top one-shot voice form filling services for e-commerce', and 'voice form data capture tools for healthcare forms'. The run broke the score down by engine, and the breakdown was uneven in a way a single headline number would have hidden: strong on some engines, completely invisible on others.
The most important finding was not the overall score — it was the shape of the gap. One engine returned zero mentions on every query, while another was within reach. That per-engine asymmetry is the signal that tells you where to spend your two hours, and it is exactly the kind of finding a single composite score buries. The measurement also confirmed the things that were already solved — crawlability was clean and the schema coverage was broad — so the plan would not waste a single mission re-doing settled work.
Step 2 — What the Plan Said to Do
From that summary, the tool generated a prioritized mission plan. The highest-ROI mission was structural, not promotional: add a 40-to-60-word answer-capsule paragraph directly under each H2 heading that lacked one. The plan flagged this as the single highest-leverage move because all four engines pull from the same heading-anchored paragraphs — so one pass of work multiplies extractability across every one of the twelve engine-and-query cells at once. Lower-priority missions targeted specific gaps: comparison pages against the one competitor the run actually surfaced, and listings on the aggregator domains the engines were already citing for the category.
Two properties of the plan matter here. First, it was grounded in the run's real data — the missions referenced the specific competitor (AnveVoice, which the run counted at five mentions against TypelessForm's seven) and the specific domains the engines cited, not a generic checklist. Second, it told us what to skip: crawlability and schema breadth were already solved, so the plan explicitly said not to touch them. A plan that tells you what not to do is as valuable as one that tells you what to do, because it protects your limited time.
Step 3 — What Changed When We Re-Measured
Over the tracked period, TypelessForm's overall presence moved from 33% to 58% — a rise of 25 points across the four runs, and a +16-point jump in the final week alone. The Unified Visibility Index landed at 65 out of 100 (PRESENT). The clearest single shift came on one engine: Gemini went from missing both of its first two queries to citing TypelessForm on all three (3 of 3, a 100% hit rate). The tool's 'what changed' table recorded the exact cells that flipped — Gemini's Q1 and Q2 both moved from no to yes, and Perplexity's Q2 moved from no to yes as well.
An honest note on causation, because it is the difference between a case study and a sales pitch: we cannot prove that any one mission caused any one cell to flip. AI answers shift week to week for reasons outside anyone's control, which is precisely why the tool re-measures rather than declaring victory after a single run. What we can show is the measured before-and-after over the period — 33% to 58%, Gemini from invisible to fully present — captured by the same reproducible tool on both ends. The trend is real and the data is on disk; the attribution is a hypothesis the next run tests. That distinction is the whole point of a measure-plan-improve loop, and it is the standard we hold our own claims to.
| Metric | Earlier run | End (2026-05-25) | Source |
|---|---|---|---|
| Overall presence (04-23 to 05-25) | 33% (2026-04-23) | 58% | aeo-platform trend table |
| Unified Visibility Index | not shown for earlier runs | 65 / 100 | aeo-platform UVI |
| Gemini hit rate (05-18 to 05-25) | 1 of 3 (2026-05-18) | 3 of 3 | aeo-platform what-changed table |
| Claude hit rate (05-18 to 05-25) | 1 of 3 (2026-05-18) | 0 of 3 (regressed) | aeo-platform what-changed table |
| Top competitor (AnveVoice) mentions | — | 5 vs our 7 | aeo-platform competitor chart |
Claude moved the other way — and that is the most instructive cell of all. Claude briefly held a citation (1 of 3 queries at 2026-05-18) and then lost it, dropping to 0 of 3 by 2026-05-25, a 33-point regression. That is exactly what a training-data engine looks like: Claude does not run a live web search for most queries, so a fresh blog post does not durably move it — a citation that appears can vanish on the next refresh. The fix lever for a training-data engine is different (npm presence, GitHub stars, Hacker News, press coverage) and operates on a six-to-twelve-month timeline. aeo-platform classifies the engine before recommending, so it does not tell you to 'write more content' to fix Claude — a recommendation that would have wasted the effort. Knowing which lever applies to which engine is itself part of the plan.
The Actual Plan the Tool Handed Us
Everything above describes the loop. This section shows you the literal deliverable. Here is the actual plan the tool handed us on the TypelessForm run — you paste your own run's JSON plus the prompt the tool generates into any LLM (ChatGPT, Claude, or Gemini) and you get back exactly this kind of document, written in plain English, grounded only in your data. We have not polished or rewritten it. The accessibility is the point: a solo operator should be able to read the diagnosis, open the table, and start working without an AEO glossary.
The plan opens with a plain-language diagnosis. Quoting it verbatim: “Your site shows up in AI answers at about 58 out of 100. Out of 12 checks (3 questions × 4 AI engines) you're mentioned in 7. Gemini mentions you every time and links to your site; ChatGPT mentions you often; Perplexity mentions you but never links to you; Claude never mentions you at all. The rival beating you everywhere is AnveVoice — it appears in all four engines and even gets its own pages linked.” No jargon, no UVI weights, no engine taxonomy — just what is true and who is winning.
Then it lays out 30 sequenced missions across a 30-day calendar, each with a day, a one-line description, and a rough time estimate. This is the full table the tool produced, every row, exactly as written:
| # | Day | Mission | Time |
|---|---|---|---|
| 1 | 1 | Add short answers under 4 of your 8 bare headings | 90m |
| 2 | 1 | Add a “founder” info-block to your homepage code | 30m |
| 3 | 2 | Add short answers under the other 4 headings | 75m |
| 4 | 2 | Mark your blog posts as articles for machines | 45m |
| 5 | 3 | Fix the broken link to your code package | 10m |
| 6 | 3 | Grow your FAQ from 8 to ~12, using the real questions | 45m |
| 7 | 4 | Build a “form filling” use-case page (copy AnveVoice's idea) | 120m |
| 8 | 5 | Build a second use-case page | 90m |
| 9 | 6 | Check what Question 3 really asks; build a page only if it fits | 30m |
| 10 | 7 | Add the new pages to your sitemap | 15m |
| 11 | 8 | Write a “TypelessForm vs AnveVoice” page | 120m |
| 12 | 9 | Write a “TypelessForm vs Voiceform & SayFill” page | 90m |
| 13 | 10 | Add Q&A code blocks to the new pages | 60m |
| 14 | 11 | Connect your brand's profiles together (sameAs) | 30m |
| 15 | 12 | Write one deep how-it-works article | 120m |
| 16 | 13 | Re-post that article on dev.to | 45m |
| 17 | 14 | Re-post a version on Medium | 45m |
| 18 | 15 | Re-run aeo-platform and compare the numbers | 30m |
| 19 | 15 | List TypelessForm on AlternativeTo | 45m |
| 20 | 16 | Polish your existing Product Hunt page | 45m |
| 21 | 17 | Reddit: helpful comments only, no promo (round 1) | 30m |
| 22 | 18 | Reddit: helpful comments only, no promo (round 2) | 30m |
| 23 | 19 | Indie Hackers: fill profile + 5 real comments | 40m |
| 24 | 20 | Hacker News: post a few genuine technical comments | 40m |
| 25 | 21 | Email the Medium list author to add you | 40m |
| 26 | 22 | Publish a YouTube demo with a written transcript | 60m |
| 27 | 23 | Reddit: post your product in r/SideProject | 45m |
| 28 | 25 | Indie Hackers: post your product with real numbers | 45m |
| 29 | 27 | Hacker News: do a “Show HN” launch | 60m |
| 30 | 30 | Final re-run; check what moved | 30m |
A one-line table is enough to schedule the work, but it is not enough to do it. Each mission expands into a short brief with the same four parts: what and why, how, done when, and an only-if gate where one applies. Here are four of the thirty in full, so you can see the texture the tool produces rather than take our word for it.
Mission 1 — Add short answers under your headings. “AI engines like to quote a short, direct answer that sits right under a heading. Your homepage has 9 section headings but only 1 has such an answer beneath it. This is the cheapest way to become 'quotable' on ChatGPT, Gemini, and Perplexity.” How: open homepage code → under 4 headings add a 40–60-word answer-capsule → publish. Done when: 4 more headings have a short answer. ~90 min.
Mission 7 — Build a “form filling” use-case page. “AnveVoice (your top rival) has a page at anvevoice.app/use-cases/form-filling that AI engines keep fetching and citing. You don't have an equivalent. Copy the idea with your own page.” How: create typelessform.com/use-cases/form-filling, answer at top, “Built by Webappski” case-study link at bottom. ~120 min.
Mission 19 — List TypelessForm on AlternativeTo. “AlternativeTo is a software directory that AI engines pull from, and it's the cheapest way to reach Claude (which never visits your site). You can list yourself next to the exact rivals you compete with.” How: “Suggest new app”, list AnveVoice/SayFill/Voiceform as alternatives. ~45 min.
Mission 29 — Hacker News: do a “Show HN” launch. “Your widget is something people can actually try, which is exactly what Show HN is for. A successful Show HN is a big, high-authority citation spike.” Title exactly “Show HN: TypelessForm – one-shot voice form-filling widget”, post Tue–Thu 15:00–17:00 CET, stay online 2–4h. Only if: the account has real comment history and isn't used mainly for promotion. ~60 min. Those “only-if” gates recur throughout the plan, and they are the proof the tool respects platform rules rather than handing you a spam checklist.
The most credible part of the plan is the part that tells you to do nothing. The tool ends with an explicit “what NOT to do” section, and it is where the engine-awareness shows. Quoting verbatim:
- “Don't create a Wikipedia or Wikidata page yet. No independent press has written about you (the report found zero outside sources), so a self-made entry gets deleted and leaves a permanent 'not notable' mark. Earn a few press mentions first (Mission 25 starts that).”
- “Don't waste time on 'AI can't find my site' fixes. Your crawl setup is already perfect — all 12 AI bots are allowed and your robots, sitemap, and llms.txt files all exist. There's nothing to fix here.”
- “Don't read Perplexity's zero links as a content problem. That engine was checked by hand without live web search, so the missing links are partly a measurement quirk — and don't bet your Perplexity visibility on Reddit alone.”
That second and third bullet are the credibility punch. A generic AEO checklist would have sent you to build a Wikidata entry (which would be deleted as non-notable, leaving a lasting mark against you) and to read Perplexity's missing links as a content failure to fix. The tool recognizes the Wikidata request-for-deletion trap and the Perplexity measurement artifact, and tells you to skip both — protecting the limited time of an operator who has two hours a week.
Finally, the plan closes with a plain ROI line that names the single cheapest win and is honest about its limit. Verbatim: “The cheapest win is Missions 1 + 3 (adding short answers under every heading, ~2.75h, nothing to wait on) — it lifts the three engines that already mention you. But it will not move Claude off zero, because Claude never even visits your site; for Claude, the cheapest lever is Mission 19 (the AlternativeTo listing, 45 min).” Every tracker stops at the score. This one hands you the executable, plain-English plan — and the one printed above is literally the one it gave us, on our own product.
How aeo-platform Compares to a Dashboard Tracker
The clearest way to understand aeo-platform's position is to compare the job it does against a typical hosted dashboard tracker. Both measure AI visibility; they diverge on what they hand you afterward and on where your data lives.
| Dimension | Typical dashboard tracker | aeo-platform |
|---|---|---|
| Primary output | Charts and tabs (where you are invisible) | Prioritized paste-into-AI action plan (what to do next) |
| Where it runs | Hosted SaaS, your data on their servers | Local CLI, your data stays on disk |
| Pricing | Monthly subscription | Free, open-source (MIT), zero dependencies |
| Re-measurement | Continuous monitoring | Re-run on demand; runs accumulate for a measured delta |
| Engine-aware advice | Often one strategy for all engines | Classifies each engine; different lever per engine |
| Best for | In-house team monitoring continuously | Solo operator who needs the work handed to them |
A dashboard is excellent at monitoring. aeo-platform is built for doing. If you already have an in-house team watching AI visibility and translating it into work, a dashboard may suit you better. If you are a founder or a small team who needs the single next move and a prompt to execute it, the plan is the point.
Who Builds aeo-platform, and Why That Matters
aeo-platform is built and maintained by Webappski, an Answer Engine Optimization studio. We are not a tooling company that happens to have a side interest in AEO — AEO is the service we sell, and the tool is the methodology made open and reproducible. We built it to measure our own products first, and we publish the raw data rather than headline scores, because an AEO result you cannot reproduce is just marketing.
That matters for a practical reason. Most AEO advice comes from agencies that have optimized clients' products but never their own, or from tool vendors who measure but never execute. Webappski does both: we run aeo-platform on TypelessForm and our other products, act on the plan it generates, and re-measure — the exact loop described in this article. The tool is the proof, and the proof is the sales argument. When we tell a consulting client we can move their AI visibility, the worked example above is the evidence, run on a product we own end to end.
This is also why the tool is free and open-source. The README carries no upsell; the monetization is isolated downstream — a paste-assist plan tier at $29 for operators who want the plan packaged, and full Answer Engine Optimization consulting (typically $3,500 and up) for companies that want Webappski to run the loop for them. The tool earns trust by being genuinely useful and genuinely open; the business follows from the trust, not the other way around.
How to Run aeo-platform Yourself
The whole loop is three commands. You will need API keys for the engines you want to measure (OpenAI and Gemini are the baseline; Anthropic and Perplexity are optional), supplied through your own environment — the tool never stores or transmits them anywhere but the engine APIs you point it at.
- Install:
npm install -g aeo-platform— zero dependencies, installs in under a second. - Initialize: run the init command and answer the prompts to register your domain, your buyer queries, and your competitors. This writes a local config file you own and can edit.
- Measure: run the tracker. It calls each engine, scores the result, and writes a self-contained HTML report plus a machine-readable summary to your disk.
- Plan: generate the action plan from the summary. Open it, pick the one or two highest-impact missions, and paste each into ChatGPT or Claude to draft the fix.
- Improve and re-measure: ship the fixes, wait a week, and run the tracker again. The new run accumulates alongside the old ones and produces the trend and 'what changed' tables automatically.
Start with one engine and a handful of real buyer queries. The fastest way to understand AEO is to see your own brand measured — the gap is almost always somewhere you did not expect, and the plan turns that surprise into the next two hours of work.
Frequently Asked Questions
What is aeo-platform?
aeo-platform is a free, open-source, zero-dependency Node.js command-line tool that measures how often AI answer engines (ChatGPT, Claude, Gemini, Perplexity) cite your brand, generates a prioritized paste-into-AI action plan from the gaps it finds, and re-measures the result so you can track the delta. It is installed with npm install -g aeo-platform, runs locally, and is built and maintained by the Answer Engine Optimization studio Webappski.
How is aeo-platform different from an AI visibility dashboard?
A dashboard tracker shows you where you are invisible across engines and queries, then stops — the operator has to translate the charts into action. aeo-platform produces the same measurement but adds two steps: it generates a prioritized action plan you paste straight into ChatGPT or Claude to draft each fix, and it re-measures so you get a before-and-after. The deliverable is a to-do list, not a wallchart. A dashboard is better for continuous monitoring by an in-house team; the plan is better for a solo operator who needs the work handed to them.
Is aeo-platform free, and where does my data go?
Yes. aeo-platform is free, open-source, and MIT-licensed, with no runtime dependencies. It runs as a local CLI: you supply your own API keys, and the tool writes its output to your disk. Your query set and results never go to a hosted dashboard. The only paid offerings are downstream and optional — a $29 paste-assist plan tier and full Answer Engine Optimization consulting from Webappski (typically $3,500 and up).
Does aeo-platform actually improve my AI visibility?
The tool does not change your site for you — it measures, plans, and re-measures; you execute the plan. In our own worked example, TypelessForm's measured presence rose from 33% to 58% over four weekly runs, with Gemini moving from one of three queries to three of three. We are deliberate about causation: AI answers shift week to week, so we present this as a measured before-and-after, not a guaranteed result, and the re-measurement step exists precisely to separate real movement from noise.
What does the 30-mission plan look like?
The plan is a prioritized, sequenced list of up to 30 missions, each tied to a specific gap the measurement run surfaced and written as a prompt you paste into ChatGPT or Claude. Each mission carries a target, an expected outcome, and a rough time estimate, ordered so the highest-leverage move comes first. The plan also includes a 'what NOT to do' section that flags work already solved, so you do not waste time. You act on one or two missions per week, then re-run the tool to see what changed.
Which AI engines does aeo-platform measure?
aeo-platform measures ChatGPT, Gemini, Claude, and Perplexity. OpenAI and Gemini are the baseline engines; Anthropic (Claude) and Perplexity are optional, plus a manual paste mode for browser-only surfaces. It also classifies each engine as training-data or web-search, because the fix lever differs — web-search engines respond to schema, directories, and backlinks in weeks, while training-data engines respond to npm, GitHub, and press over months.
Start Measuring, Then Improving
Measuring your AI visibility is the easy part, and aeo-platform does it for free in three commands. The harder part — knowing what to do next, and proving the work moved the needle — is what the plan-and-re-measure loop is built for. Install it and run your own brand: npm install -g aeo-platform. The gap is almost always somewhere you did not expect.
aeo-platform is built and maintained by Webappski, an Answer Engine Optimization studio that runs this exact loop on its own products before selling it as a service. If you would rather have us run measure-plan-improve for your company end to end — or you want the baseline read before you commit — request a free AEO audit. We will show you exactly where your product appears across ChatGPT, Perplexity, Gemini, and Claude, where it does not, and what the gap is costing you.
This article was last reviewed in June 2026. aeo-platform is actively maintained; the current version is 1.1.6. The worked-example figures come from a real aeo-platform report on typelessform.com covering 2026-04-23 to 2026-05-25. AEO is a fast-moving field — we update this article as the tool and the engines evolve. If you notice outdated information, contact us at info@webappski.com.