AAA

About the AI Adoption Agent

Methodology · Rubric · Limitations · Context

1. What this is

The AI Adoption Agent is a working prototype that automates one specific piece of B2B sales intelligence: finding companies, estimating their AI readiness from public signals, and producing a draft first-touch email calibrated to that readiness.

It is built as an application artifact — a proof of concept demonstrating autonomous agent architecture in a context directly relevant to GO MO Group's existing work with AI-led B2B marketing.

2. Pipeline

  1. 1
    Search — Serper.dev queries Google for companies matching the ICP description. Social media, news aggregators, and marketplaces are filtered out.
  2. 2
    Scrape — Homepage and About page content is fetched via cURL. Text is extracted (scripts, nav, footer stripped). Truncated to 5,000 characters per page.
  3. 3
    Classify — Claude Haiku assigns a 1–5 AI maturity score with rationale and explicit signals. It never invents signals — if the text doesn't support a higher score, it doesn't get one.
  4. 4
    Outreach — Claude Sonnet drafts a segment-calibrated email. Score 1–2 gets an education angle. Score 3 gets a pilot angle. Score 4 gets an optimization angle. Score 5 gets a skip note.

3. AI Maturity Rubric

1
Dormant No public AI signals at all.
2
Curious Leadership mentions AI in blog or interviews. No implementation.
3
Experimenting Pilots, individual AI tools mentioned. No integrated systems.
4
Implementing Dedicated AI roles, integrated workflows visible publicly.
5
Native AI is core to the product or operations, not just mentioned.

4. Why this was built

GO MO Group has published detailed work on AI-led B2B marketing — including a deployed GenAI Content Supply Chain for a global manufacturer and a productised Generative Engine Optimisation (GEO) service. The ASBX process and Pull Marketing framework show a systematic approach to AI-augmented sales.

This prototype demonstrates the specific capability gap that comes before that framework kicks in: automatically identifying which prospects are ready for what conversation. The classification at the top of the funnel changes which content personalisation strategy is appropriate — education for some, optimisation for others.

It is built to live under gomogroup.com, not as a standalone product. This is an input into an existing system, not a replacement for it.

5. Known Limitations

  • Public signals only. Classifications are based on what companies publish on their website. A company doing significant internal AI work without publicising it will score low. This is a known bias.
  • Phase 1 sample. The Heatmap covers 27 hand-seeded Västsverige companies, not a statistically representative sample of the region.
  • Text only. The scraper reads HTML text. It does not process video, PDFs, LinkedIn, press releases, or job postings — all of which would improve signal quality.
  • One classification pass. Scores are not averaged across multiple runs. A single scrape on a day when a page is cached or down could affect the result.
  • Cross-domain duplicates not deduped. The same company can appear multiple times in one run if its presence spans multiple domains (e.g., main site, investor portal, third-party employer page). Deduplication is by domain, not entity.
  • Thin-content fallback. When a scraped page returns very little usable text, the classifier still assigns a score 1 ("Dormant") rather than flagging insufficient data. A future patch will gate classification on minimum scraped content.
  • No send functionality. Outreach drafts are copy-to-clipboard only. This is intentional — review and personalisation by a human is required before any contact.
  • Shared hosting constraints. The live agent is limited to ~90 seconds and ~8 companies per run due to Oderland's execution limits.

6. Tech stack

Server
PHP 8.2 on Oderland shared hosting
Database
SQLite 3 (single-file, zero config)
Classification
Claude Haiku (claude-haiku-4-5-20251001)
Outreach
Claude Sonnet (claude-sonnet-4-6)
Search
Serper.dev (Google SERP API)
Map
Leaflet.js + OpenStreetMap
CSS
Tailwind CDN (no build pipeline)
JS
Vanilla — no framework

7. Contact

Built by Andreas Persson.
Questions about this prototype: andreas@perssonofsweden.com