Skip to content

Self-serve venue mining from the web-jam.com admin (high-level: what a full web app would cost) #992

Description

@JoshuaVSherman

High-level placeholder so the idea and its real cost are on record. Not scheduled — Josh: "probably we won't do it any time soon" (2026-07-19).

Depends on the direction decision in JaMmusic#1240 (UI vs agent-only). This issue does NOT pre-empt that decision — it exists to record what the "full web app" answer would actually cost, so #1240 can be decided with real numbers.

The ask

Run venue mining from the web-jam.com admin UI, self-serve, with no agent session involved.

Why it is not a port

/venue-mining (web-jam-tools) is an agent skill. Its value is LLM judgment: is this actually a music venue, which page holds booking info, is this a real map-resolvable address, is this venue already in the DB. Today a Claude session supplies that judgment. A web app has to supply it server-side — i.e. web-jam-back calling the Anthropic API itself. That is a rewrite of the reasoning layer, not a UI wrapper.

What it would take (rough)

  • web-jam-back: async job-runner endpoint (POST to start + poll for status — Heroku's ~30s request cap rules out inline), an Anthropic API client, and the sources.yaml registry + sweep cooldowns moved out of the repo into Mongo.
  • Playwright on Heroku: buildpack + a larger dyno. Real ops cost and the most likely source of flakiness.
  • New running cost: mining runs bill to an Anthropic API key (a separate budget line — NOT Josh's Claude subscription).
  • JaMmusic: AdminVenues tab — seed mode + input, run/progress, proposal table with per-row approve/reject wired to the existing POST /venue.

Rough size: 4+ issues across two repos, a multi-week chain.

The cheaper 80% (recommended alternative, for the #1240 decision)

Keep mining agent-side where the judgment already lives, and have it write proposals to a venueProposal collection instead of returning a chat table. Then build only the approval UI in AdminVenues — review and one-click create, from anywhere, whenever. Roughly one wjb issue + one JaM issue. No Playwright on Heroku, no new API bill, and it fixes the actual pain point: proposals currently die with the agent session that produced them.

Non-goals

  • No implementation. No decision made here — that belongs to JaMmusic#1240.

Close when

JaMmusic#1240 is decided: either this gets specced into real build issues, or it is closed as "agent-only, approval UI instead".

🤖 Filed by Claude Code — Opus 4.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions