MediaMatter — real-time music press aggregation, AI-assisted classification, and pro exports for labels and artists.
Overview · Capabilities · Quick start · Configuration · Security · License
Press Review Tool is a web application for music industry teams who need curated press coverage: reviews, interviews, news, and more—aggregated from the open web, ranked for relevance to an artist or release, and exported for decks and archives.
It is part of the LabelTools suite and ships as a subscription product (Free, Pro, Business) with usage limits and feature tiers enforced server-side.
| Area | What you get |
|---|---|
| Search | Live retrieval via Perplexity with fallbacks; post-ranking aligned to artist/album (token and phrase signals, URL-aware cleanup)—transparent scoring, not vanity “relevance” badges. |
| Languages | Result language presets include English, Italian, Spanish, French, and Multilingual (default)—use multilingual when you need global coverage without excluding non-English sources. |
| Classification | Optional Anthropic Claude enrichment for content types; heuristic fallback if the API is unavailable or out of credits. |
| Exports | PDF, Excel, CSV, JSON from saved searches; email delivery for PDF where configured. |
| Access & billing | Clerk authentication; Stripe subscriptions with webhook-driven plan sync. |
| Fair use | Monthly search quotas by tier; Free-tier safeguards using normalized identity and IP-based guardrails. |
Stack (high level): Next.js App Router (React 19, TypeScript), server routes, Neon Postgres, hosted on Vercel.
npm install
cp .env.example .env.local # fill in secrets (see below)
npm run devOpen http://localhost:3000.
npm run lint # ESLint
npm run typecheck # TypeScript
npm run build # production buildCopy .env.example to .env.local. Typical groups:
| Group | Role |
|---|---|
| Clerk | Publishable and secret keys, sign-in URLs, webhook secret for user lifecycle. |
| Database | DATABASE_URL for Neon (serverless Postgres). |
| Search | PERPLEXITY_API_KEY — primary search backend. |
| AI (optional) | ANTHROPIC_API_KEY — categorization; app degrades gracefully without it. |
| Billing | Stripe secret, webhook secret, price IDs, publishable key. |
| App | NEXT_PUBLIC_APP_URL — canonical public URL without trailing slash (Open Graph, metadata, absolute links). |
| Ops | FREE_ACCOUNTS_PER_IP_LIMIT (Free tier), optional WHITELISTED_EMAILS (comma/semicolon/newline) for operator-granted Pro-equivalent access without Stripe. |
Optional Resend (RESEND_API_KEY, RESEND_FROM_EMAIL) for feedback notifications. |
See SECURITY.md for dependency review, operational checklist, and how to report issues. Optional smoke checklist: docs/VERIFICATION.md.
This repository is proprietary. See LICENSE for terms. Access to hosted software is governed by your LabelTools subscription or agreement.
Press Review Tool · MediaMatter (creative training & consulting)
Contact: developer@toskyrecords.com
MediaMatter