# Dispatch > Dispatch is an article intake system for journalists, researchers, and analysts. It tracks beats (user-defined topics) across hundreds of RSS feeds and delivers a clean daily email brief. No algorithm, no engagement optimization — just the sources you chose, grouped by topic, ranked by recency. Dispatch is a web app built on Next.js 15, Postgres (via Neon), Prisma, Clerk auth, and Resend for transactional email. It fetches RSS feeds every 15 minutes, deduplicates articles across sources, clusters stories that multiple outlets are covering, and applies word-boundary keyword filtering with topic-alias expansion (so a "AI" beat catches LLM, GPT, ChatGPT but not "Thailand"). Users get a single email digest at the hour they choose. ## Core concepts - **Beat**: a tracked topic (e.g. "Climate policy", "EU tech regulation", "Premier League"). Each beat subscribes to a set of RSS sources and has optional keyword filters. - **Source**: an RSS or Atom feed URL. Sources are shared across users — each feed is fetched once. - **Article**: metadata + excerpt harvested from a source. Dispatch does not store full article text; it links users to the publisher. - **Morning brief**: a daily HTML email summarizing new articles per beat over the last 24 hours. - **Story clustering**: when 2+ sources within 48 hours cover the same story (measured by title Jaccard similarity ≥ 0.5), Dispatch groups them into one card. ## Who it's for - Journalists tracking a beat across competitor publications - Researchers monitoring the literature, press coverage, and policy debate around their field - Analysts and product managers doing competitive intelligence - Anyone who wants a signal-dense morning news email instead of algorithmic doomscrolling ## How it differs from other tools - **vs Feedly**: Dispatch is opinionated and minimal — one feed view, one digest, smart keyword filters. Feedly is a sprawling product with AI summarization, boards, and teams. - **vs Google News**: Google News picks what you read via an algorithm. Dispatch has no algorithm — you pick every source and topic. - **vs Twitter/X lists**: Twitter is real-time chatter. Dispatch is curated publisher content with chronological (non-ranked) ordering. - **vs mailing lists / Substack**: Dispatch aggregates hundreds of existing feeds rather than requiring you to subscribe individually. ## Technical details - RSS parsing via rss-parser with a 10s per-feed timeout - Articles deduped on (sourceId, guid) with Prisma's `createMany({ skipDuplicates: true })` - Feed refresh runs every 15 minutes via Vercel Cron + external cron backups - Email delivery via Resend with inline-styled HTML (most clients strip `