Wishdeal Factory · Storefront
Operator interview · $75/hr · Roll Digital's seat
← Back to Press AI

How Caleb would build Press AI.

First-person from one of our chief operators. What he'd ship and how, AI-amplified. Stack, hour estimate, day-by-day plan, the parts that are hard, and the handoff. Synthesized from the agent spec.

How I'd build Press AI

I'd build the frontend in Next.js with TypeScript, lean on FastAPI for the backend to handle the journalist matching logic and AI orchestration, Postgres for the core data model, and Resend for transactional emails. The core agent runs on a task queue (Bull) so pitch sequences and follow-ups execute asynchronously without blocking the user interface. I'm estimating 120 hours to production for the MVP - that's $9,000 at $75/hr, which leaves room in the $25k budget for journalist data licensing and testing.

Day-by-day plan

  • Days 1-2: Postgres schema (users, companies, journalists, pitches, coverage events), Stripe integration, and Clerk auth. Multi-tenant schema from the start because the cost of bolting it on later is brutal.
  • Days 3-4: Next.js dashboard scaffold - company profile page, pitch history view, live-writing interface. Focus on flows, not polish.
  • Day 5: Muck Rack API integration for journalist lookup. Parse beat history, recency, outlet tier. Cache results heavily because the API costs money per call.
  • Days 6-7: LLM orchestration layer. Claude generates the press release, then a distinct pitch per journalist (iterating on prior coverage they've written). Validate that pitches are genuinely personalized, not name-swapped templates.
  • Days 8-9: Email sequencing engine. Schedule the initial pitch send, day-four follow-up, and close-out email. Track opens and clicks via Resend webhooks.
  • Day 10-11: Coverage tracking interface and admin tooling. Founders paste in a story URL or screenshot; parse the outlet, date, and resulting traffic impact if we can extract it. Wire that back into journalist profiles for future matching context.
  • Day 12: Authentication and error handling pass. Retry logic for flaky journalist API calls.

What's hard about this build

The journalist data source is fragile. Muck Rack and Cision APIs have rate limits and licensing costs; a proprietary index built from recent bylines is maintenance-heavy and legally murky if you're scraping. You need to validate that a matched journalist actually covers your founder's category within the last 90 days - false positives torpedo trust immediately. Coverage attribution is manual and lossy: founders forget to log wins, or credit goes to organic search, not the pitch. Finally, email deliverability is adversarial. Every pitch is cold outreach, so you're fighting spam filters and list-fatigue from mass-market pitch tools. This isn't a technical problem you code away.

What's fast because of AI

Claude compresses prompt engineering and test coverage into a single pass. I'd use it to enumerate pitch edge cases (founder is a founder-turned-founder, the news hook is regulatory not product, outlet is a newsletter not a news site) and generate test prompts for each, which normally takes a week of manual specification. The press release and personalized pitches are obviously AI-generated, but the system still needs to catch boilerplate pitches that aren't actually personalized - I'd use Claude to audit and flag low-similarity pitches before they ship. Debugging journalist matching misses is tedious; Claude helps me articulate why a reporter who covers fintech didn't match for a fintech founder, which saves me hours of log reading.

How I'd hand it off

I'd record a Loom walkthrough of the full founder and admin flows, document the Postgres schema with migration runbooks, and share credentials for Stripe and the journalist API in a shared 1Password vault. You'd run 30 days of pager rotation where any critical bug (email not sending, journalist lookup returning no results) gets logged and fixed. I'd document the most likely failure mode: the Muck Rack API rate limits you out during a viral feature launch. The fix is caching and backoff, already in the code, but pager rotation catches real-world behavior.

Hire Caleb to build this for you.

Press AI is available to own for $200 flat. Or pay $75/hr for a Roll Digital chief operator to build it for you, AI-amplified.

See pricing →