feedtagger reads a list of blogs, classifies each post against the IPTC Media Topics taxonomy using a language model that runs entirely on this machine, and lets you turn any combination of topic, confidence and date range into a feed you can subscribe to.
No post content is sent anywhere. Classification is local; there are no external machine-learning services involved.
robots.txt is checked before every request — for the feed itself and again for each article page, because a site can disallow them separately. A Crawl-delay is honoured if one is set.
Crawl-delay
If a site disallows us, we do not merely stop fetching it: everything already collected from that site is deleted, including the extracted text and every topic classification derived from it. A publisher who says no should not find their writing still sitting in somebody's index. Consent withdrawn after the fact still counts.
Requests are made one at a time, with a pause between requests to the same host. These are hobbyist blogs on shared hosting, not an API built for crawlers, and finishing a minute sooner is not worth being the traffic spike in somebody's afternoon.
Feeds and article pages are fetched with a normal HTTP client. Page JavaScript is never executed, and requests to private or loopback addresses are blocked.
Which feeds are currently excluded is listed on the admin page.
Generated feeds are produced on the fly from whatever filter is in the URL. Nothing about your subscription is stored on the server — there is no account, no saved feed list, and no name or slug to choose. The URL is the subscription.
That means a feed URL is shareable, diffable, and cannot go stale or be squatted. Build a filter on the posts page and copy the Atom or RSS link from the Subscribe box.
Changing the confidence threshold or the sort order will not mark items unread again: an entry's identity comes from the post itself, never from the filter that surfaced it.
IPTC Media Topics is published by the IPTC under CC BY 4.0. Concept identifiers, labels, definitions and hierarchy are stored unchanged.