Monday, May 18, 2026

MinusPod: self-hosted podcast ad remover now has opt-in crowdsourced patterns, learns from everyone else's corrections.

MinusPod: self-hosted podcast ad remover now has opt-in crowdsourced patterns, learns from everyone else's corrections.

MinusPod is a self-hosted server that strips ads out of podcasts before you play them. Whisper transcribes the episode, an LLM finds the ad segments, FFmpeg cuts them, and your podcast app subscribes to the cleaned feed. Bring your own LLM.

It also learns from your corrections. Fix a bad cut once, and MinusPod saves that sponsor's ad script. The more you correct, the better it gets. But every fresh install starts from zero. You re-teach your instance about Squarespace, BetterHelp, NordVPN, and a couple of hundred other sponsors that everyone else already taught their own instance about.

So the new release adds community patterns. Here's how it works, and what it does with your data.

What it is

A shared pattern set lives in the project's GitHub repo. Your instance can pull it on a schedule you set. Common sponsor reads get recognized without you correcting them first. It ships with a small starter set and grows as people contribute.

It's opt-in and off by default. Nothing syncs unless you turn it on. Leave the setting alone, and MinusPod behaves exactly like before.

Matching

Patterns are tagged so they only run against relevant podcasts. A VPN ad won't fire on a true-crime show that mentioned privacy once. Sponsors get tags like vpn or finance, podcasts get tagged from their RSS category (you can add your own), and a pattern only runs when the tags line up. Sponsors that advertise everywhere, like Squarespace or Audible, are flagged to always apply. The tag filter runs before any heavy text matching, so it stays fast as the set grows.

Privacy

Contributing is a separate, per-pattern, manual action. It never happens automatically. When you submit, the app strips everything that identifies you or what you listen to: which podcast it came from, the network, your timestamps, and match counts. It also strips PII out of the ad text itself, so personal email addresses and non-toll-free phone numbers get removed, while business contact info that's part of the actual ad copy stays. It runs quality checks, then downloads a JSON file.

From there you open a PR the normal way: fork the repo, drop the file into patterns/community/, commit, push, open the PR. The app gives you the exact git commands to copy-paste, so you're not guessing. Every submission gets reviewed by a human before it's accepted. Nothing auto-merges.

Controls

Sync schedule is a cron expression, defaults to weekly, and there's a manual sync button. You can pin any community pattern so a sync won't touch it. You can turn the whole thing off whenever you want, and existing patterns stay until you delete them yourself.

Caveats

The starter set is small right now. It gets better as people contribute, which means early adopters carry more of the weight. That's just how this kind of thing starts.

Tag matching is a heuristic. It will sometimes skip a pattern that would have matched, or run one that doesn't apply. When it skips, detection falls back to the normal LLM pass, so it fails soft, but it isn't magic.

This does not make MinusPod faster at processing audio. The Whisper transcription step is unchanged; it's still bring-your-own-LLM, and it still needs the same hardware. The patterns improve detection accuracy, not speed.

This is a new feature, and the contribution process isn't fully ironed out yet. If you try it and something is clunky, or you see a better way to handle any of this, I want to hear it.

Links:

submitted by /u/ttlequals0
[link] [comments]


No comments:

Post a Comment