Newsletter Triage

A newsletter judge
that follows YOUR rules.

It reads every newsletter before you do, scores it against a rubric you write, then files it: banger, maybe later, or trash. Nothing gets deleted.

  • ✓Your rubric, not an algorithm. triage init interviews you in Claude Code and drafts a six-axis scoring guide around your goals.
  • ✓Who to cut, who to upgrade. A per-sender ledger flags the newsletters that are nearly always trash, and the ones nearly always worth paying for.
  • ✓Runs itself. Twice a day on GitHub Actions, in your own private repo, with your own API key.
Get Newsletter Triage - $49Paid subscriber? It's included.

One-time payment · lifetime updates · runs on your own GitHub

Newsletter Triage: a newsletter judge that follows your rules. Verdicts: banger, maybe later, trash.

5,042 unread.

That was my Newsletters label in September. Every one of them a deliberate subscription, picked for quality.

Gmail filters match senders and keywords. They can't tell whether THIS issue deserves your evening.

So you either read everything out of guilt, or archive in bulk and lose the good ones with the trash.

How it works

From rubric to a sorted inbox

  1. 1

    Write your rubric

    triage init interviews you in Claude Code and writes rubric.md: six axes, your goals, your rules.

  2. 2

    Calibrate

    triage label shows you 20 emails by sender and subject; you give your verdict. triage rejudge scores the rubric against your verdicts, for cents.

  3. 3

    Dry run

    triage setup-github creates your private repo and sets the secrets. Turn the schedule on: digests arrive twice a day, nothing gets filed yet.

  4. 4

    Go live

    One line in config.yml. From then on every newsletter lands in banger, maybe later, trash, or unrecognized, with a daily digest explaining why.

What you get

Everything in the repo

  • ✓Four Gmail labels or IMAP folders: banger, maybe later, trash, unrecognized. When the judge can't judge honestly, it says so instead of guessing.
  • ✓triage init - rubric interview in Claude Code, or a neutral template to fill in
  • ✓triage label + triage rejudge - calibrate against your own verdicts
  • ✓Per-sender ledger + triage senders: unsubscribe and upgrade candidates in every digest
  • ✓Daily markdown digest with each verdict's reason; triage show to read it, triage sync to put it in your Obsidian vault
  • ✓Batch API by default: half-price judging, no email paid for twice
  • ✓triage doctor - checks every credential and folder, and tells you what to fix
  • ✓Gmail, Google Workspace, or any IMAP mailbox with an app password
  • ✓Updates by git pull upstream main

Proof

My own inbox, not a testimonial

Before turning it on, I checked my rubric against my own hand-labelled verdicts: it agreed 13 out of 14 times.

I turned it on 30 September. Day one: roughly 600 emails triaged.

About 28% come out as bangers. Not "only the good stuff" - a filter that tells you where to look first.

No buyers yet. This is me, running my own product on my own mail.

My Gmail labels on 1 October
My Gmail labels on 1 October
Two digest records: a trash and a banger, each with its reason (anonymised)
Two digest records: a trash and a banger, each with its reason (anonymised)
The scheduled runs - including two day-one bugs, fixed the same day
The scheduled runs - including two day-one bugs, fixed the same day

Privacy & cost

Your key, your repo, your bill

No middleman.

Your Anthropic API key. Your private GitHub repository. Your mail goes only to the AI provider you choose.

Encrypted at rest.

Digests and the sender ledger are stored in your repo, encrypted with your own key.

Running cost

Paid to Anthropic, not to me: about $0.011 per email on the Batch API. Under $2/month at 5 newsletters a day; about $55 for a 5,000-email backlog.

Who it's for

Built for builders

For builders who subscribe deliberately, read to get better at their work, and are fine running a few commands.

I'm Sebastian - same person behind the Ship & Sell Starter Kit and the Engineer of Wealth newsletter, and Newsletter Triage runs on my own inbox too.

You need: a GitHub account, an Anthropic API key, Python 3.11+, macOS or Linux (Windows via WSL), and a Gmail, Google Workspace, or IMAP mailbox.

Self-managed: the README walks you through setup; there is no setup support. If "open Terminal" isn't something you do, this isn't for you yet - and that's fine, keep your $49.

Pricing

Two ways to get it

One-time

$49

Just this tool, yours for good.

Lifetime updates. Polar connects your GitHub account at checkout and sends the repo invite automatically.

Included for paid subscribers

Best value
$79/year

The Engineer of Wealth newsletter - a newsletter for developers who can ship but can't sell. Everything I ship, while subscribed.

Less than two of these, and it keeps paying out as I ship more.

FAQ

Questions, answered

Does it read or delete my mail?+

It reads the newsletters in one label or folder and moves them into four others. It never deletes anything. On Gmail it asks only for the gmail.modify scope.

What does it cost to run?+

About $0.011 per email, paid to Anthropic on your own key - under $2/month at 5 a day.

Which mailboxes work?+

Gmail, Google Workspace, and IMAP providers with app passwords (Fastmail, iCloud, Zoho, and others). Proton Bridge isn't supported in this version.

Do I need to code?+

No. You need to be comfortable in a terminal: clone a repo, run a few commands, edit a YAML line.

What if it judges something wrong?+

Nothing is deleted, so a wrong verdict costs you a click. When it can't judge honestly, it files the email as unrecognized instead of guessing. And triage rejudge shows exactly where your rubric disagrees with you.

How do updates work?+

git pull upstream main. Your rubric and settings aren't touched, because the product never ships them. Buyers get updates for life; subscribers get them while subscribed.

Why GitHub Actions and not a hosted app?+

So nothing sits between your mailbox and you. Your repo, your secrets, your schedule.

Read the bangers first.

Your next 5,042 unread don't have to be a guilt pile.

← All products