All projects
Live in Colorado

CornerBeat

A daily local newsletter, written by AI and run by one operator.

A free morning newsletter for readers over 50 that covers what changed in their part of town, in plain, neighborly language. Every issue is gathered, written, rendered, and sent automatically, and the platform is built to launch a new metro with a few database rows.

Visit cornerbeat.com

The problem

Local news is scattered across a dozen outlets and Reddit threads, and most of it is written for people who already follow it. Older readers want a short, trustworthy daily brief about their own area, without the national noise.

What I built

  • An hourly scraping pipeline that pulls RSS and Reddit sources per metro, deduplicates by URL hash, and isolates failures so one bad feed never stops the rest.
  • A two-pass AI compose step: Claude Haiku ranks and de-duplicates the day's stories, then Claude Sonnet writes the issue against a style guide and examples, with validation and retries.
  • Rendered HTML issues with a local weather strip, ad slots, and dark mode, sent through Resend on isolated sending domains so each product keeps its own reputation.
  • Subscriber growth through Facebook Lead Ads: a signed webhook feeds a durable queue and worker, with daily reconciliation and automatic token refresh so no lead is lost.
  • A self-serve advertiser portal with multi-metro ad booking and Stripe payments, plus landing pages with UTM tracking from click to lead.
  • An operator dashboard for issues, subscribers, and advertisers, with universal error logging behind every edge function.

Stack

  • React
  • TypeScript
  • Vite
  • Supabase
  • Claude API
  • Resend
  • Stripe
  • Meta Graph API
  • Vercel

Let's talk about your next stage of growth.

Hiring for growth or marketing leadership, or want to talk about AI products? I'd like to hear from you.