Skip to content

feat: full sink pipeline in the web demo (BYO key) - #6

Merged
chrisschouk merged 2 commits into
mainfrom
feat/web-full-pipeline
Jun 11, 2026
Merged

feat: full sink pipeline in the web demo (BYO key)#6
chrisschouk merged 2 commits into
mainfrom
feat/web-full-pipeline

Conversation

@chrisschouk

Copy link
Copy Markdown
Owner

Brings the whole CLI pipeline into the browser demo — it was scrub + rinse only (~40% of the tool); now all four phases plus the auxiliary features.

What's new

  • soak (AI contact enrichment) and steep (outlet research) run client-side, BYO Anthropic key (dangerouslyAllowBrowser). Keys stay in the browser, never hit a server.
  • Firecrawl proxy — a single Vercel Edge function (web/api/firecrawl-proxy.ts), the only backend, because Firecrawl blocks browser CORS. Key passed per-request, never stored.
  • Aux features: single-email spot-check, inspect (quality-only), URL / Google-Sheets input, CSV/JSON/JSONL download selector, per-contact intel drawer (name + email + outlet).
  • In-terminal API-key panel gating the AI phases; scrub + rinse stay key-free and local.

Approach (low-risk)

  • datasink/core gains additive, browser-safe exports only (soak/steep prompt + confidence helpers, toGoogleSheetsExportUrl) + new src/input-browser.ts. Published CLI behaviour unchanged — no edits to the phase runners, providers, or CLI.
  • Browser soak/steep runners live in web/src/, reusing core's pure helpers.
  • Positioning broadened one notch: "music PR" → "music industry".

Verification

  • Root tests 101/101 green; both builds clean.
  • Verified in a real browser (production): full pipeline (soak enriched 15 / steep 9 outlets), skip path, CSV/JSON/JSONL downloads, spot-check, URL/inspect, Edge function live.

🤖 Generated with Claude Code

chrisschouk and others added 2 commits June 12, 2026 00:25
The browser demo now runs all four phases, not just scrub + rinse.
soak (AI enrichment) and steep (outlet research) run client-side with
the user's own Anthropic key (dangerouslyAllowBrowser); a thin Vercel
Edge function proxies Firecrawl scrapes, which block browser CORS. Also
adds spot-check, inspect, URL/Google-Sheets input, and CSV/JSON/JSONL
download, plus an in-terminal API-key panel.

datasink/core gains additive, browser-safe exports (soak/steep prompt
and confidence helpers, toGoogleSheetsExportUrl) and a new
input-browser.ts; the published CLI behaviour is unchanged. Positioning
broadened one notch from "music PR" to "music industry".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ofter steep line

- Each intel row already shows name + email; add a copy button to the
  submission portal URL and submissions email for quick pitching.
- Cap the per-contact list at 30 rows with a "…and N more" note, since the
  full enrichment is in the download (keeps large lists manageable).
- Soften the outlet-research summary: when no submission portal is found,
  still surface socials / pitch-hook counts instead of reading as "0 found".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@chrisschouk
chrisschouk merged commit ca9265e into main Jun 11, 2026
3 checks passed
@chrisschouk
chrisschouk deleted the feat/web-full-pipeline branch June 11, 2026 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant