Repository navigation
Releases: metcalfc/popcorn
Release list
v0.2.1
MCP now works behind a proxy on the same machine, including exe.dev. No database or config-format changes.
POPCORN_HOSTS: the host names a proxy on the same machine serves Popcorn as, comma-separated. Before this,/api/mcpanswered403 invalid Host headerbehind the exe.dev VM proxy or a sidecar, because the MCP SDK refuses loopback requests under a non-local name (its guard against DNS rebinding). The listed names are now accepted and any other is still refused. WithoutPOPCORN_HOSTS, the check is unchanged.- Docs: connecting Claude Code on exe.dev. The proxy never passes a Popcorn token through. Clients use an exe.dev token scoped to the VM, sent as
X-Exedev-Authorization. See deploying on exe.dev.
Image: ghcr.io/metcalfc/popcorn:0.2.1 · Chart: oci://ghcr.io/metcalfc/charts/popcorn --version 0.2.1
v0.2.0
Two config additions, more reliable scoring, and fixes from a code review. No database migration: upgrade in place from 0.1.x.
New in the config format (older versions reject these keys, so upgrade before using them):
intent = "info"on a prompt marks a question that asks for an explanation or how-to rather than a choice. It's scored on being named or cited only, and stays out of the recommended and top-pick rates. Intent is frozen in each run, and a change is marked on the trend.popcorn planexplains the effect. See prompt sets.[[competitors]]in popcorn.toml: a competitor list shared by every set, written once. A set's own entry for the same name wins. Moving a set's list there changes nothing on the trend.
Changes
- Past runs are summarized with the brand identity they were graded with and today's sites, on every page (before, only rankings did).
- A run stops as failed on a database write error instead of dropping answers. Unreadable stored answers are an error, not a silent gap.
- OpenAI web searches are counted the way they're billed: search actions only, not opening a page. Budget settlement and recorded costs now agree.
popcorn backup <file>writes a consistent copy of the database while it runs.- The Helm chart has a values schema: misspelled keys and wrong types are rejected.
- Tied top picks and the rolling band render the same every time.
- The config template ships a
review-promptsskill for Claude Code.
Checked against a copy of a real 0.1.1 database: rankings, quick wins and every run summary match 0.1.1, apart from the deterministic ordering above.
Image: ghcr.io/metcalfc/popcorn:0.2.0 · Chart: oci://ghcr.io/metcalfc/charts/popcorn --version 0.2.0
Popcorn 0.1.1
Small improvements on 0.1.0.
popcorn plansays how often core sets actually run (it said "daily" whatevertiers.core.every_dayswas).- Quick wins can be filtered by gap and prompt set as well as site, and the filters combine.
- A prompt set's runs table shows each run's search-track named and recommended rates and rank.
Image: ghcr.io/metcalfc/popcorn:0.1.1 · Chart: oci://ghcr.io/metcalfc/charts/popcorn --version 0.1.1
Popcorn 0.1.0
The first release of Popcorn: ask AI assistants the questions your buyers ask, and see whether they recommend you.
- Asks each buyer question of Claude and ChatGPT, with web search and without, and grades every answer recommended, mentioned or absent.
- Share of voice, rankings over time, and a ranked fix list that names the page to change, what it must say, and its owner.
- Self-hosted: one container with SQLite, your prompts in a git repo you own, answers through the APIs or your own Claude Code and Codex subscriptions.
Install
- Image:
ghcr.io/metcalfc/popcorn:0.1.0(linux/amd64, linux/arm64) - Helm chart:
oci://ghcr.io/metcalfc/charts/popcorn --version 0.1.0(also attached) - Start a config repo from popcorn-config-template; guides at popcorn.zone/docs.