tasteHQ
  • Review
  • Run locally
  • Agents
  • Spec
Free · runs on your machine

Run the judge yourself.

One file · about 1 MB
Python 3.12+ recommended
No account, no key
Why this exists: hosted analysis is paused, because every hosted review would bill the site owner. The engine the hosted service runs ships as one file instead. It fetches pages from your machine, scores them there, and sends nothing to tasteHQ.

1 · Download

Download tastehq.pyz

curl -fsSLO https://www.tastehq.w230.net/engine/tastehq.pyz
curl -fsSL https://www.tastehq.w230.net/engine/tastehq.pyz.sha256 | shasum -a 256 -c -   # expect: tastehq.pyz: OK

2 · Judge a page

# against one of the 101 catalog brands
python3 tastehq.pyz judge https://your-preview.example --target stripe

# against your own brand's live site
python3 tastehq.pyz judge https://your-preview.example --target-url https://your-brand.com

# your dev build on this machine: --allow-loopback admits only that exact origin
python3 tastehq.pyz judge http://localhost:3000 --target linear --allow-loopback --json

Each axis prints pass or fail with the observed and target values, followed by the concrete fixes. Exit codes are made for CI and coding agents: 0 pass, 2 revise, 3 reject, 1 the tool itself failed.

3 · Extract a grammar vector

python3 tastehq.pyz import https://your-brand.com --json

What it does and doesn't do

QuestionAnswer
What does it fetch?Only the URLs you pass and the stylesheets they load, over your own network. Pages are treated as untrusted. Their stylesheets, imports and redirects can't reach private, link-local or cloud-metadata addresses. --allow-loopback admits one exception: the exact localhost origin you're judging.
What reaches tasteHQ?Nothing, for judge and import. The catalog is inside the file. Browsing commands such as list read the public catalog from this site.
Does it call an AI model?Not by default. If you add --use-my-api-key, it grades voice.archetype by sending the page's text to Anthropic with your own ANTHROPIC_API_KEY, and Anthropic bills you. Without that flag, any key in your environment is ignored.
Rendered pass?Not in the local engine. A browser running a page's own scripts can't yet be held to the same network boundary, so the judge uses the static pass (HTML and CSS) only.
What does it write?On first run it unpacks itself into ~/.cache/tastehq/ (about 5 MB), in a folder named after the file's checksum.
What does it cost?tasteHQ charges nothing. It uses your machine and bandwidth. With --use-my-api-key, your model provider bills you. Fetching a site can also count against that site's own hosting or rate limits, so judge only pages you're allowed to test.
Which Python?Use a supported, fully patched Python, ideally 3.12 or newer. The engine still runs on 3.9–3.11, but those versions no longer get security fixes, or soon won't.

For coding agents

Point the verify step in your AGENTS.md at the local judge, and act on its exit code:

python3 tastehq.pyz judge "$PREVIEW_URL" --target-url https://your-brand.com --json

Licensing: tasteHQ is MIT (LICENSE). The bundled PyYAML is also MIT.

tasteHQ·terms·privacy·copyright