Cheap Seats

Cheap Seats vs Elmo

Cheap Seats (cheapseats.dev) is a personal open-source project: its author wrote it to make his own product better, drawing on lots of inspiration, Gauge first among them. It’s MIT licensed, free and always will be, with no hosted tier, and it runs on the Claude subscription you already have. Elmo is another open-source project in the same space: a self-hosted platform from Blue Whale Software, also MIT, and the open core of Elmo Cloud, from $29 a month. The two take different approaches. Elmo reaches the consumer surfaces, ChatGPT, Google AI Mode and AI Overviews, Gemini, Perplexity and Copilot, through scraping services, and checks each mention with TypeSafe’s Jev model. Cheap Seats asks only Claude and OpenAI models, through their APIs or the Claude Code and Codex CLIs, grades every answer recommended, mentioned or absent, puts an interval on every number, and ends each run with a ranked fix list. Elmo does more, and does several things better; this page says which.

Side by side

As of October 2026, from Cheap Seats’ docs and Elmo’s own README, providers, visibility, configuration and pricing pages:

Cheap SeatsElmo
LicenseMITMIT (Blue Whale Software, LLC); contributors sign a CLA
PriceFree; runs on your existing Claude subscription (ChatGPT optional)Self-hosted free. Elmo Cloud: Starter $29, Basic $99, Pro $299, Business $649 a month; white-label custom
Where it runsOne Docker container with SQLite, on Docker, Kubernetes (Helm chart) or an exe.dev VMDocker Compose set up by the @elmohq/cli package: a web app, a worker on pg-boss, and PostgreSQL. Node 24
EnginesClaude and OpenAI models, through their APIs or the Claude Code and Codex CLIsScrapers (Cloro, BrightData, Oxylabs, SearchApi, Olostep, DataForSEO) for ChatGPT, Google AI Mode, AI Overviews, Gemini, Perplexity and Copilot; direct APIs (OpenAI, Anthropic, Mistral, OpenRouter) for Claude, Grok and others
Keys you needNone on your own machine with a Claude Code subscription; or an Anthropic API keyA scraper or model API key, a direct LLM key for onboarding and Opportunities, and a TypeSafe key for Jev, which judges mentions and sentiment. The worker won’t start without the TypeSafe key
Your promptsTOML in your own git repo, changed by pull requestIn the app, from an onboarding wizard that reads your site, or by hand; also over the REST API and MCP
Web search vs memoryBoth, as separate tracks (search and recall), reported separatelyWeb search; scraped surfaces always search
GradingA Claude call grades each answer recommended, mentioned or absent, with position, top pick, every product named, objections, praise and toneA text search for each tracked company’s names and domains, then Jev decides whether each match really means that company, with its sentiment and the passage behind it
Samplessamples per answerer and track, set in your configRUNS_PER_PROMPT samples per platform per run, 5 by default
ConfidenceA 95% interval on every rate; changes tested against noiseNot published
What to fixA ranked fix list every run, and each fix’s outcome measured after it shipsOpportunities: one structured LLM call over a digest of your data, refreshed about weekly, sorted into creation, existing content, outreach and social
Reports and APIWeb UI, CLI, JSON API and MCP serverShareable reports for people without an account; REST API with TypeScript and Python SDKs; MCP server
Site checksFree site audit, citation check and AI crawler counts from your logsThe README says Elmo doesn’t do crawler analytics or on-page audits today

What it costs. Cheap Seats is free and open source (MIT). Claude is required, through a subscription or an API key; ChatGPT (Codex or an OpenAI key) is optional and adds a second assistant’s answers. On your own machine, with a Claude Code subscription, answers, grading and the fix list can all run on the claude CLI, with no API key and no extra spend. Host it and you pay your host (and, in a container, API usage, since the image has no CLIs: about $0.03 to grade a 68-answer run, under a daily budget cap). Cost and budget has the details.

Self-hosted Elmo is free software too, but it calls paid services. Its providers page estimates a scraper at about $0.15 to $2.25 per prompt a month, at about 300 evaluations a prompt; direct model APIs at about $2 to $5 per tracked model per prompt a month; and Jev at about $0.15 to $0.35 per 1,000 answers, or $2 to $4 a month for 25 prompts on 3 platforms.

How the numbers differ

The two use some of the same words for different counts. Metric definitions has the full table; the short version:

Start with Cheap Seats if…

When to move to Elmo

If you outgrow Cheap Seats, do whatever suits you. Its author would suggest Gauge; that team is great. If what you need is on this list, Elmo is a strong choice, and an open-source one:

Elmo is also well finished: a live demo, sentiment passages you can click through to, and published reliability checks of every scraper it supports.

Taking your prompts with you

Your prompt sets are plain TOML in your own git repo. Each prompt is a line of text with an id, so the buyer questions you’ve refined in Cheap Seats are yours. They’re plain text you can paste into Elmo’s prompt settings, or send through its create_prompts MCP tool or REST API, and your run history stays in your SQLite file.

See Getting started to run it, or all comparisons.