Local Mac agent vs. SaaS aggregator

SmarterHome AI vs. a local Mac agent: how to compare local internet deals without becoming a sales lead

SmarterHome AI's top-ranking pages all describe the same funnel: hand over your address, phone, and email, then talk to a human authorized reseller. That is a fine way to find a plan. It is also the exact input a commission-driven lead pipeline wants. This guide walks through the mechanical alternative: running a local Mac agent over your own Chrome profile, scraping Xfinity, Spectrum, AT&T, Frontier, and EarthLink yourself, and keeping the comparison grid on your own disk.

M
Matthew Diakonov
9 min read
4.9from Backed by the Mediar team
Runs locally on your Mac
Drives your own Chrome via Playwright MCP
Uses macOS accessibility APIs, not screen scraping alone
Open skill files you can audit in the app bundle

What SmarterHome AI actually does

SmarterHome AI is a brand for an authorized-reseller aggregator. The company's top-ranking pages are its own homepage, Nextdoor kiosk listings in Los Angeles, Houston, and Santa Ana, a Better Business Bureau profile out of Del Valle, Texas, a Wanderlog directory stub in Winter Haven, and a set of AmericanHomeQuotes programmatic city pages. The flow on every one of them ends the same way: a phone number and a form that captures address, phone, email, sometimes first and last name.

The consumer pays nothing. The ISPs pay commissions when a resold plan closes. That is the economic reality of the "AI" label here: the system is optimized to steer you toward the plan that pays best to close, not the plan that is cheapest or fastest at your address. Nothing about this is illegal or even unusual. It is the default state of internet-plan comparison in the United States. But once you see the funnel, you can choose not to walk into it.

$0

Free to consumer, commissions paid by ISPs. The plan you get steered toward is the plan that closes best.

How authorized-reseller aggregators work

How a local Mac agent does the same job

Fazm is a macOS app. When you ask it to compare internet plans at your address, it drives your own signed-in Chrome through the Playwright MCP extension and, where needed, drives native Mac apps through the macOS accessibility APIs. The agent fills in each ISP's serviceability checker with your address, scrapes the rendered plan cards, and writes the rows to a CSV on your disk. Your address, phone, and email are typed into a form, seen by the ISP, and that is it. No third-party lead pipeline sits in the middle.

The data flow

Your address
Your Chrome profile
Fazm prompt
Fazm
Xfinity.com
Spectrum.net
ATT.com
Frontier.com
EarthLink.net

The anchor fact: the web-scraping skill ships in the app bundle

Fazm's behavior is not a server-side prompt you have to trust. The app bundle contains a Resources/BundledSkills/ folder with one Markdown file per skill. The file web-scraping.skill.md is 60 lines long and tells the agent which tool to reach for depending on the target site. On first launch, SkillInstaller.swift auto-discovers every *.skill.md file and copies it to ~/.claude/skills/. You can open the skills folder on your Mac and read exactly what the agent was told.

Excerpt, web-scraping.skill.md lines 11-21

## Core Tools

### Static Sites
- Use requests for HTTP requests
- Use BeautifulSoup for HTML parsing
- Use lxml for fast XML/HTML processing

### Dynamic Content
- Use Selenium for JavaScript-rendered pages
- Use Playwright for modern web automation
- Use Puppeteer (via pyppeteer) for headless browsing

That is a real file, in a real location, bundled with a signed macOS app. For an ISP comparison, Fazm routes through Playwright because every plan page is JS-rendered. The sibling skill file telegram.skill.md explicitly warns the agent never to use Playwright for Telegram, which is proof the framework routes per-skill rather than blindly launching a browser for every task.

Side-by-side: aggregator vs. local agent

FeatureSmarterHome AI (aggregator)Fazm (local)
Where your address and phone goSubmitted to aggregator CRM, then to ISP repsTyped into ISP forms, stays on your Mac
Who picks the plan rankingCommission structure ranks plansYou sort the CSV by any column you want
Raw plan dataNot provided; you get a phone recommendationCSV with plan, speed, promo price, post-promo, fees
Re-run in 3 monthsAnother phone call, another lead recordRun the same prompt again, diff the table
Anti-bot blocksNot applicable, it is a call centerLow; Playwright MCP attaches to your real Chrome
Works without giving up your infoNo, address/phone/email are requiredYes, the ISPs see the typed form; no third party
Audit trailPhone recording you don't get to keepLocal CSV plus optional source HTML per row

What actually happens when Fazm compares your local ISPs

1

You say your address out loud

Fazm has a voice hotkey. You press the hotkey and say, 'Compare home internet plans at 1234 Main St, Apt 3, and put the results in a spreadsheet.' Nothing else is needed up front.

2

The agent loads the web-scraping skill

SkillInstaller.swift has already copied web-scraping.skill.md to ~/.claude/skills/. The agent reads the skill and sees that JS-rendered ISP pages need Playwright.

3

Playwright MCP attaches to your running Chrome

The playwright-extension path hooks into your real Chrome process. Cookies and fingerprint match a trusted user session, so Turnstile and Cloudflare challenges are not triggered.

4

Each ISP is visited in sequence

Xfinity.com, Spectrum.net, AT&T.com, Frontier.com, and EarthLink.net each get your address typed into their serviceability form. The agent waits for plan cards to render, then extracts them.

5

Plan rows are written to a CSV on disk

Provider, plan name, down/up speed, promo price, post-promo price, contract length, equipment fee, data cap, source URL. Optionally the source HTML snippet is saved alongside each row for audit.

6

You re-rank the table yourself

Open the CSV. Sort by whichever column matters to you this month, not whichever plan pays the highest commission. Next quarter, re-run the same prompt and diff the two tables to catch promo expiry rate hikes.

What the agent log looks like in practice

A condensed transcript of what prints while Fazm runs an ISP comparison at a real address. Exact filenames are from the app bundle.

fazm.log
0

major ISPs scraped in one run

0

lead-gen aggregators in the middle

0

bundled skill files auto-installed on first launch

The same mechanism works for other commercial comparison shopping

Internet plans are one obvious use case. Any comparison where the SaaS version of the tool is actually a lead-gen funnel fits the same pattern. The web-scraping skill is generic; it does not care what the target site is.

Home insurance quote matrix

Drive each carrier's quote form yourself instead of filling one aggregator form that fans out 14 calls.

Solar installer bids

Scrape Sunrun, Sunnova, and local installers without putting your address into a single lead-exchange box.

Moving company estimates

Every aggregator in this category sells leads. Local agent + your calendar is a cleaner flow.

Mortgage rate table

Rate tables on bank sites require real browser rendering. Playwright MCP handles it.

Car lease quote sweep

Dealer lead-gen is the second-worst category after insurance. Same pattern works.

What stays on your disk vs. what ends up in a CRM

Local Mac agent

On your machine

  • Raw plan CSV, one row per plan
  • Source HTML snippets for each row
  • Re-runnable prompt in your agent history
  • Your Chrome cookies, where they already were
  • A timestamped copy of the comparison for later diffs

Aggregator funnel

Out of your control

  • Address in aggregator CRM
  • Phone in aggregator CRM
  • Email in aggregator CRM, sometimes shared with ISP reps
  • Phone call recording, if the call was recorded
  • No raw plan grid; you get a verbal recommendation

Request-level view: the same goal, two very different sequences

SmarterHome AI funnel

YouSmarterHome formRep phonesubmit address + phone + emailcreate lead, assign repcall you, read quotesupsell bundlesign up (if yes)

Fazm local agent

YouFazmISP sitescompare plans at [address]serviceability checks in your Chromerendered plan cardscsv of every plan rowsign up directly (if yes)

Sites the web-scraping skill is designed to handle

Xfinity
Spectrum
AT&T
Frontier
EarthLink
Verizon Fios
T-Mobile Home Internet
Starlink
CenturyLink
Cox
Optimum
Google Fiber

Why not a cloud chatbot with browsing?

A cloud agent that browses for you hits the same anti-bot wall as any headless scraper, because its browser fingerprint is fresh, its cookies are empty, and most ISP serviceability forms sit behind Cloudflare Turnstile or a similar challenge. The practical result is a lot of timeouts and incomplete plan grids.

A Mac-local agent dodges the problem by driving your own Chrome. Your fingerprint is already trusted. Your cookies are already there. The ISP form renders the plan cards because it thinks you are a regular visitor, which you are. That is the operational reason this approach works for commercial-site scraping when generic automation keeps getting blocked.

Want Fazm to run this comparison at your address?

Book a 15-minute call and we will walk through setting up the web-scraping skill and running your first ISP sweep, live.

Book a call

Frequently asked questions

Is SmarterHome AI actually AI, or a call center?

SmarterHome AI is marketed as AI-powered plan matching across 1,000+ providers, but the actual funnel is a phone call with a human authorized-reseller specialist who reads you quotes after you hand over your address, phone number, and email. The consumer does not pay; the ISPs pay commissions on bundles you sign for. That commission model is what 'free AI comparison' quietly means.

What does a local Mac agent like Fazm do differently?

Fazm is a macOS app that drives your own signed-in Chrome through Playwright MCP and can also drive native apps through the macOS accessibility APIs. When you ask it to compare internet plans at your address, it opens Xfinity.com, Spectrum.net, AT&T.com, Frontier.com, and EarthLink.net in your real Chrome, types your address into each serviceability checker, scrapes the plan cards, and pastes the rows into a spreadsheet on your Mac. Your address, phone, and email never get submitted as a lead.

Where in Fazm does the scraping capability actually live?

Fazm ships bundled skills as Markdown files inside the app's Resources/BundledSkills folder. The file web-scraping.skill.md on lines 17 to 20 tells the agent to use Playwright for modern web automation and Selenium for JS-rendered pages. On first launch, SkillInstaller.swift auto-discovers every *.skill.md in that folder and copies it to ~/.claude/skills/. You can open the folder and read the skills yourself; the behavior is not a black box.

Why does the data flow matter if both get me the same plans?

Both flows eventually show you plans, but the residue is different. SmarterHome's form plus phone consult puts your address and phone into a lead pipeline tied to ISP commissions, so the plan you get steered toward is the plan that pays best. Running the scrape on your Mac keeps the raw plan grid on your disk, with no upstream incentive shaping which plan is on top. You can re-rank the table by price, speed, contract length, or fee structure instead of by commission.

Do ISP sites block a local agent the way they block scrapers?

Most address-checker forms on Xfinity, Spectrum, AT&T, and Frontier work fine inside a real signed-in Chrome profile because the request fingerprint and cookie jar look like a regular visitor. Fazm's playwright-extension path attaches to your running Chrome rather than launching a headless browser, which is the anti-bot gate that catches most naive scrapers. Turnstile and captchas pass because your browser is the browser.

What does the output look like?

A CSV or a spreadsheet with one row per plan: provider, plan name, advertised down/up speed, promo price, post-promo price, contract length, equipment fee, data cap, and the URL where it was scraped. The agent can also write the source HTML snippet alongside each row so you can audit what got parsed. Since it runs locally, you can re-run it every few months and diff the table to see price hikes.

Does Fazm work with anything besides ISP comparison?

Yes. Fazm is a general macOS agent. Bundled skills include web-scraping.skill.md, deep-research.skill.md, doc-coauthoring.skill.md, travel-planner.skill.md, google-workspace-setup.skill.md, and more, all discoverable in Resources/BundledSkills. The internet-plan comparison use case is one application of the web-scraping skill plus your Chrome profile.