…

How to optimize YNN for you

YNN runs entirely in your browser — every setting below lives only on this device.

Three things to do right now

  1. Open ⚙ → drag any source you don't care about to 0% to mute it. Keep the rest at 50%.
  2. Star (☆) a handful of stories you actually like. They save to ★ Starred and feed the Smart sort.
  3. After a dozen card clicks, switch the Sort dropdown to Smart (learns). Items related to what you click float to the top.

Searching

Categories

Per-card actions (hover any card)

Settings (⚙)

Good to know

Settings stored under ynn.* keys in localStorage.

Personalization

Everything here lives only in your browser. Nothing is sent anywhere.

Use these settings on another device

Open the link on your other phone or computer to copy your categories and keywords, sources, blocked words, saved feeds, ★ Starred and Read Later there. Your settings travel inside the link itself; nothing is stored on the server.

Add custom RSS feed

User-added sources show as (custom) below.

Visible categories — uncheck to hide from the Category dropdown

Source weights — 0% mutes, 100% boosts

Block keywords (comma-separated, applies everywhere)

Saved feeds

Switching feeds replaces current weights, blocks, and category.

Cloudflare Worker URL (fastest RSS + AI synthesis)

One URL powers two things: (a) RSS fetches go through /proxy on your worker instead of public CORS proxies (no rate limits, sub-second, free within Cloudflare's 100k req/day tier); (b) Dense Mode clusters get LLM-synthesized via POST /. Empty = public proxies + no LLM synthesis. Deploy the included worker.js. See worker.README.md.

Copy settings to this device?

This replaces the categories, keywords, sources, blocked words and saved feeds on this device. ★ Starred and Read Later are combined, so nothing saved here is lost.

Customize

A headline matches a category if its title or summary contains any of the comma-separated keywords (case-insensitive, whole-word match).