CodingIdeas.ai

PitchCast - Cold Pitch Email Ranker for Podcast Hosts Who Get 200 Guest Pitches a Week

Every podcast host with 10k+ listeners gets buried in copy-pasted guest pitches that all sound identical. PitchCast reads your inbox, scores each pitch for relevance to your show's topic, audience fit, and pitch quality, and surfaces the top 5 every Monday morning — so you stop wasting 3 hours triage per week.

Difficulty

intermediate

Category

Creator Tool

Market Demand

Medium

Revenue Score

6/10

Platform

Web App

Vibe Code Friendly

No

Hackathon Score

6/10

What is it?

Mid-tier podcast hosts (10k-200k listeners) receive 30-200 guest pitch emails per week but have no tooling to triage them — they either ignore most pitches (missing great guests) or spend hours manually reading them (unsustainable). PitchCast connects to Gmail via OAuth, reads pitches from a designated label or folder, scores each one using Claude for topic relevance, audience alignment, and pitch quality, and delivers a weekly digest ranking the top candidates with one-line summaries and a reply-ready email template. This is an AI wrapper, but with a genuinely specific niche mechanic — it reads the host's own past episodes via RSS to calibrate relevance scoring to their actual content, not a generic prompt. Buildable in 2 weeks using Gmail API, RSS parsing, and Claude API.

Why now?

The April 2026 podcast guest pitch economy has exploded as AI writing tools make it trivial to blast 500 podcast hosts simultaneously — hosts are drowning in indistinguishable pitches and actively complaining on Twitter and in podcasting communities right now.

  • Gmail OAuth that reads pitches from a user-designated label and extracts sender, subject, and body (Implementation: Gmail API messages.list + messages.get with label filter).
  • RSS episode ingestion that parses the host's own podcast feed to build a topic relevance context for Claude scoring (Implementation: rss-parser on user-provided RSS URL, last 20 episode titles and descriptions).
  • Claude scoring engine that rates each pitch 1-10 on topic fit, audience alignment, and pitch quality with a one-line rationale (Implementation: Claude API with structured JSON output, episode context injected into system prompt).
  • Weekly Monday digest email showing top 10 pitches ranked with score, rationale, and one-click reply template link (Implementation: Resend React Email template fired via cron every Monday 9am).

Target Audience

Independent podcast hosts with 10k-500k listeners who manage their own bookings — estimated 50k+ such hosts in English-language podcasting.

Example Use Case

Sarah hosts a 50k-listener entrepreneurship podcast and gets 80 guest pitches per week. PitchCast reads her Gmail, scores pitches against her last 20 episodes, and delivers a Monday digest with her top 5 candidates — she books 2 great guests she would have otherwise missed, in 15 minutes instead of 3 hours.

User Stories

  • As a podcast host, I want my Gmail pitch inbox auto-scored against my show's actual topics, so that I can find the right guests in 15 minutes instead of 3 hours per week.
  • As a podcast producer managing a host's inbox, I want a ranked weekly digest of the top 10 pitches with relevance rationale, so that I can pre-select candidates for the host's review.
  • As a podcast host, I want a one-click reply template for each top-ranked pitch, so that I can respond to great candidates without drafting emails from scratch.

Done When

  • Gmail Sync: done when user connects Gmail, designates a label, and sees their pitch emails listed in the dashboard within 3 minutes of connecting.
  • RSS Calibration: done when user enters their podcast RSS URL and sees the last 20 episode titles listed as the scoring context in their settings page.
  • Pitch Scoring: done when each pitch in the dashboard shows a numeric score out of 10 with a one-sentence rationale visible on hover or expand.
  • Weekly Digest: done when user receives a Monday morning email listing their top 10 scored pitches with sender name, score, rationale, and a reply link.

Is it worth building?

$29/month x 60 hosts = $1,740 MRR at month 3. $29/month x 250 hosts = $7,250 MRR at month 8. Math assumes 6% conversion from podcast host Twitter communities and cold DM outreach.

Unit Economics

CAC: $30 via podcast community DMs and Twitter (organic time cost). LTV: $348 (12 months at $29/month). Payback: 1.5 months. Gross margin: 85%.

Business Model

SaaS subscription

Monetization Path

Free tier: 10 pitches scored per week. $29/month: unlimited pitches, RSS calibration, reply templates. $79/month: team plan for shows with producers.

Revenue Timeline

First dollar: week 3 via beta host upgrade. $1k MRR: month 4. $5k MRR: month 10.

Estimated Monthly Cost

Claude API: $30, Gmail API: free, Vercel: $20, Supabase: $25, Resend: $10, Stripe fees: ~$8. Total: ~$93/month at launch.

Profit Potential

Lifestyle business viable at $3k-$5k MRR. Niche audience limits ceiling without expanding to broader creator tools.

Scalability

Medium — expand to Spotify for Podcasters RSS sync, add guest CRM features, offer white-label for podcast networks.

Success Metrics

Week 2: 10 beta hosts connected Gmail. Month 1: 8 paying. Month 4: 60 paying hosts, under 10% monthly churn.

Launch & Validation Plan

DM 20 podcast hosts on Twitter offering free pitch triage for 1 month in exchange for a 30-min feedback call — 5 takers = validated pain, start building.

Customer Acquisition Strategy

First customer: DM 30 podcast hosts on Twitter who have publicly complained about pitch volume or guest quality, offer 3 months free for feedback. Ongoing: Podcast Movement community, r/podcasting, sponsoring podcast newsletter issues, cold email to hosts listed on Podchaser.

What's the competition?

Competition Level

Low

Similar Products

Superhuman (general email triage, not podcast-specific), Podmatch (guest matching marketplace, not inbox triage), Calendly (scheduling only, no pitch ranking) — none score raw pitches against your show's own content.

Competitive Advantage

No existing tool scores guest pitches against your own show's content — generic email triage tools don't know what topics your audience cares about. PitchCast's RSS calibration makes scoring genuinely relevant.

Regulatory Risks

Gmail OAuth requires Google verification for the gmail.readonly scope, which can take 2-6 weeks and requires a privacy policy and security assessment. GDPR applies to pitch email content — do not store full email bodies beyond 30 days.

What's the roadmap?

Feature Roadmap

V1 (launch): Gmail sync, RSS calibration, Claude scoring, Monday digest, Stripe billing. V2 (month 2-3): Outlook support, guest CRM with booking status tracking. V3 (month 4+): AI-generated reply emails, team/producer accounts, podcast network white-label.

Milestone Plan

Phase 1 (Week 1-2): Gmail OAuth, RSS parser, Claude scoring engine — done when 5 real pitches are scored correctly. Phase 2 (Week 3-4): Digest email, Stripe billing, dashboard — done when first host pays. Phase 3 (Month 2): Gmail verification approved, ProductHunt launch — done when 20 paying hosts active.

How do you build it?

Tech Stack

Next.js, Gmail API, Claude API, RSS parser, Supabase, Resend, Stripe — build with Cursor for Gmail integration, v0 for digest email template

Suggested Frameworks

LangChain for Claude prompt chaining, googleapis Node client, rss-parser npm package

Time to Ship

2 weeks

Required Skills

Gmail OAuth, RSS parsing, Claude API prompt engineering, Supabase, Resend email templating.

Resources

Gmail API Node.js quickstart, Claude API docs, rss-parser npm docs, Supabase auth guide, Resend React Email.

MVP Scope

app/page.tsx (landing page), app/dashboard/page.tsx (pitch inbox + scores), app/api/gmail/auth/route.ts (Gmail OAuth), app/api/gmail/sync/route.ts (pitch email fetcher), app/api/rss/sync/route.ts (episode RSS parser), lib/scoring.ts (Claude scoring engine with JSON output), lib/email/digest-template.tsx (Resend weekly digest), lib/db/schema.ts (User, Pitch, EpisodeContext, Score tables), cron/weekly-digest.ts (Monday 9am cron), .env.example

Core User Journey

Connect Gmail -> enter RSS feed URL -> label pitch emails in Gmail -> receive Monday digest with ranked pitches -> click reply template -> book guest.

Architecture Pattern

Gmail OAuth connect -> weekly cron fetches new pitches from label -> rss-parser pulls last 20 episode descriptions -> Claude API scores each pitch with episode context -> scores stored in Supabase -> Monday Resend digest email -> host clicks reply template link.

Data Model

User has one PodcastFeed. PodcastFeed has many Episodes. User has many Pitches. Pitch has one Score with topic_fit, audience_fit, quality, rationale fields.

Integration Points

Gmail API for pitch email reading, RSS parser for episode context ingestion, Claude API for relevance scoring, Resend for weekly digest email, Stripe for billing, Supabase for pitch and score storage.

V1 Scope Boundaries

V1 excludes: Outlook integration, guest CRM, automatic reply sending, team accounts, Spotify for Podcasters RSS, AI-generated outreach emails to guests.

Success Definition

A podcast host the founder has never contacted finds PitchCast, connects Gmail, receives their first ranked digest without any help, books a guest from it, and renews after month one.

Challenges

Podcast hosts are a small and hard-to-reach audience — you must be active in podcasting communities (Podcast Movement, r/podcasting, Twitter podcasting circles) long before launch. Gmail OAuth app verification takes 2-6 weeks for sensitive scopes — apply for verification on day one of building, not day one of launch.

Avoid These Pitfalls

Apply for Gmail OAuth app verification on day one of building — the 2-6 week review process will block your launch if you start it late. Don't score more than 50 pitches per Claude API call — batch in groups of 10 to control costs and error recovery. Finding your first 10 paying hosts will take longer than building — budget 3x more time for podcast community outreach than development.

Security Requirements

Supabase Auth with Google OAuth. Gmail refresh tokens encrypted in Supabase Vault. RLS on all Pitch and Score tables. gmail.readonly scope only — no write access. GDPR: pitch email bodies deleted after 30 days, full data deletion on account close.

Infrastructure Plan

Vercel for Next.js, Supabase for database and Edge Function crons, Gmail API for email access, Sentry for errors, GitHub Actions for CI — total ~$93/month at launch.

Performance Targets

500 DAU max at launch (niche audience), ~2,000 pitches scored/week. Claude API calls batched in groups of 10 to stay under rate limits. Dashboard load under 2s. Cron digest completes under 10 minutes for up to 200 pitches per user.

Go-Live Checklist

  • Gmail OAuth verification approved by Google.
  • Payment flow tested end-to-end.
  • Sentry error tracking live.
  • Claude API cost cap set per user to prevent runaway spend.
  • Custom domain with SSL active.
  • Privacy policy and terms published covering Gmail data use.
  • 5 beta hosts confirmed digest quality.
  • Rollback plan documented.
  • Launch post drafted for r/podcasting and podcast Twitter.

First Run Experience

On first run: dashboard shows 5 seeded demo pitches already scored (fake sender names, realistic pitch bodies, scores 3-9 out of 10 with rationale) against a demo podcast RSS feed. User can immediately explore the scoring UI and see what their Monday digest will look like. Connect Gmail button is front and center to replace demo data with real pitches.

How to build it, step by step

1. Define lib/db/schema.ts with User, PodcastFeed, Episode, Pitch, Score tables using Drizzle ORM. 2. Apply for Gmail API OAuth app verification immediately — request gmail.readonly scope with privacy policy URL. 3. Build Gmail OAuth flow in app/api/gmail/auth/route.ts using googleapis Node client with offline access for refresh tokens. 4. Build app/api/rss/sync/route.ts using rss-parser to fetch last 20 episode titles and descriptions and store in Supabase Episodes table. 5. Build Gmail pitch sync in app/api/gmail/sync/route.ts to fetch emails from user-designated label, extract sender and body, store in Pitches table. 6. Build Claude scoring engine in lib/scoring.ts: system prompt includes episode context, user message includes pitch body, output is JSON with topic_fit, audience_fit, quality scores and rationale. 7. Build Resend digest template in lib/email/digest-template.tsx showing top 10 pitches ranked with scores and reply template links. 8. Wire Monday 9am cron in cron/weekly-digest.ts using Supabase Edge Function schedule. 9. Add Stripe billing with free tier (10 pitches/week) and $29/month unlimited plan. 10. Verify: seed 20 fake pitch emails in a test Gmail label, run sync, confirm Claude scores are logical relative to the RSS episodes, and confirm digest email arrives correctly formatted.

Generated

April 28, 2026

Model

claude-sonnet-4-6

Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.