Case study · 01 of 5 flagshipsLive at dailydiff.in

A newsroom run entirely by agents.

Type
Autonomous multi-agent platform
Cadence
Mon · Wed · Fri
Sources
7 · GitHub, HN, Dev.to…
Stack
LangGraph · FastAPI · Neon
01 — The problem

New developer tools land every day. Keeping up means hours of scrolling and jargon.

DailyDiff does the scrolling for you. On a schedule, a team of agents discovers what's trending across seven sources — GitHub, Hacker News, Dev.to and more — decides what is worth your attention, fact-checks it, rewrites it so a beginner could follow it, and sends a styled HTML briefing straight to your inbox.

Each brief explains the tool in plain words (ELI5), lists real use cases, and links to the source.

02 — The pipeline

How it thinks

Dashes show data flowing
Cron trigger
Mon · Wed · Fri
Scout
GitHub Trending
Scout
Hacker News API
Scout
Dev.to
LangGraph
state-graph coordinator
Curator
Mistral / Gemini · ELI5
Dispatch
Brevo / Resend email
dailydiff — run sequence (illustrative)
[cron] trigger fired — Mon / Wed / Fri schedule[scout] fetching github trending repositories[scout] querying hacker news api[scout] reading dev.to latest posts[graph] langgraph: merge, dedupe, validate state[curate] mistral → eli5 summary + use cases[dispatch] brevo → html briefing sent to subscribers
03 — The team

Four agents

01 · Scheduler

Cron trigger

Runs the whole pipeline three times a week — Monday, Wednesday and Friday — to collect, process and broadcast.

02 · Discovery

Scout agent

Scours Dev.to, GitHub Trending and the Hacker News API for trending technical utilities.

03 · Orchestration

LangGraph coordinator

A state graph that coordinates agent loops, state changes, validation checkpoints and the routing of processed summaries.

04 · Curation & delivery

Curator + dispatch

Mistral / Gemini write ELI5 explanations and use cases as structured markdown; Brevo delivers the HTML briefing to subscribers.

04 — Results

In production

Per-agent evals · 3 runs · 25 golden cases
185
Briefs sent
42
Editions
7
Sources scanned
22→4
LLM calls per run
SkepticRejects noise before it reaches the brief6–7 / 7 (was 3 / 7)
VerifierCatches bad or unsupported items14–15 / 16
AnalystAgrees with the golden verdicts13–14 / 15
EditorBriefs pass every structure check; a fail-closed gate blocks publishing otherwise5 / 5