Feedly

feedly.comcontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

An RSS reader with search, saved filters and a discovery feed, plus tooling for tracking topics across many sources.

Promptfree, for everyone, and the only version there is
Build me an RSS reader that replaces Feedly: my feeds, fetched politely, filtered how I want, and readable on anything.

STACK
- Node 20+ with Fastify, server-rendered HTML with a little vanilla JS
- SQLite through better-sqlite3, WAL mode, with FTS5 for search
- A worker process for fetching
- Caddy in front

THE DATA MODEL
- feeds: id, url, site_url, title, description, icon_path, category_id, etag, last_modified, last_fetched_at, next_fetch_at, fetch_interval_seconds, consecutive_failures, last_error, is_disabled
- entries: id, feed_id, guid, url, title, author, summary_html, content_html, published_at, fetched_at, hash, is_read, is_starred, read_at
- categories: id, name, position
- filters: id, name, scope_id, match_json, action — hide, star, mark read, or notify
- saved_searches: id, name, query, filters_json
- enclosures: id, entry_id, url, mime, bytes, duration_ms — podcasts are RSS too
- read_state kept per entry, and never lost by a refetch. The guid is the identity; the URL is not

FETCHING POLITELY, WHICH IS A DUTY
- Conditional requests with ETag and If-Modified-Since, always. A reader that refetches a full feed every ten minutes is a small denial of service against somebody's blog
- Honour Cache-Control and Retry-After
- An identifiable user agent with a URL explaining what it is, so a publisher who sees the traffic can find out why
- Adaptive interval: a feed that posts weekly is checked hourly at most; one that posts hourly is checked more often. Back off on failures, exponentially, and disable a feed after enough consecutive ones with a clear message
- Support WebSub where a feed advertises it, which turns polling into a push and is far kinder
- Parse RSS 2.0, Atom and JSON Feed, all of them, with a forgiving parser — real feeds in the wild are frequently invalid and a reader that rejects them is useless

DEDUPLICATION AND UPDATES
- Identity is the guid where present, otherwise the URL, otherwise a hash of the title and date
- An entry whose content changed is updated in place and marked as edited, keeping its read state. A feed that renumbers its guids must not resurrect three hundred read articles — cap that and warn instead
- Content hashed so a cosmetic republish does not count as an update

READING
- Three views: a list, a magazine with images, and a full-article view
- Keyboard first: next, previous, open, star, mark read, next unread feed. This is what makes a reader fast, and it is what people miss when they leave one
- Mark as read on scroll past, with an undo, and a mark-all with a confirmation
- Full content fetching for feeds that publish only a summary: fetch the article, extract the readable part, cache it, and respect the site's robots.txt while doing it
- Images proxied through your own server so the reader's address is not handed to every site they read about, with a cache and a size cap
- Offline: the last few hundred entries cached in the browser, so a train journey works

FILTERS AND SEARCH
- Rules on title, author, content, feed and category, matching by word, phrase or regular expression, with an action
- FTS5 across everything, including entries already read, with filters by feed, date and starred state
- Saved searches behave like folders
- What this cannot do, and the README should say so: search across feeds you do not subscribe to. That needs a crawl of the whole web, which is the part of the original that is not replaceable

IMPORT AND EXPORT
- OPML in and out, including categories, and it must round-trip
- Export every entry and its read state as JSON in one command
- No lock-in of any kind: the point of leaving a reader is not being trapped in the next one

APPS AND SYNC
- Implement a well-known sync API — the Fever or Google Reader shape — so existing mobile clients work with this server on day one. Building your own apps is months; speaking a protocol they already know is a weekend
- A PWA for the case where you want your own

OPERATIONS
- .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SESSION_SECRET, USER_AGENT_URL
- Migrations on boot, each once
- Entry retention with a stated policy, keeping starred entries forever
- Nightly backup off the machine, restore script
- Health endpoint reporting the oldest overdue feed and any disabled ones

WHAT MATTERS MOST
Polite fetching and stable identity. Get conditional requests, the adaptive interval and the guid handling right before anything looks good — the first is a matter of not being a nuisance to people whose writing you are enjoying for free, and the second is the difference between a reader you trust and one that keeps resurrecting articles you have read.

Give me the repository, the fetch worker, migrations, .env.example, an OPML importer, and a README with deploy steps behind Caddy.

What you lose

  • Search across feeds you do not subscribe to, which needs its own crawl
  • Discovery of sources you did not know existed
  • Apps on every platform with sync

If you would rather not build

  • NetNewsWire, free on Apple platforms

What it costs

as published on their pricing page

PlanBilled monthlyBilled yearlyLast read
—$8/mo——

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Miniflux

$0

A minimalist self-hosted reader: one binary, Postgres, no JavaScript needed.

miniflux/v2free · open source

FreshRSS

$0

Self-hosted RSS with extensions and mobile app support.

FreshRSS/FreshRSSfree · open source

Why this verdict

our own opinion · changed only by a person

88/100

Verdict yes at 88. RSS is a solved format; deduplication by GUID is the one thing that decides whether the reader is usable after a week.

History

tracked since 10 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about Feedly

answered from the record above

Is Feedly free?

No — the plan we track is $8 a month. Pro at around $8/month billed monthly, cheaper annually.

Can you replace Feedly by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 88 out of 100, build time one session. Read what you lose before you decide.

How much does Feedly cost?

$8 a month on Pro — $96 a year. Recorded 10 Aug 2026.

What do you lose by replacing Feedly?

Search across feeds you do not subscribe to, which needs its own crawl; Discovery of sources you did not know existed; Apps on every platform with sync. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Feedly?

Yes: Miniflux, FreshRSS. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 40 in Notes, docs & writing

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc