Daily News is a personal news dashboard. Instead of scattering my attention across a dozen sites and feeds, it gathers articles from the sources I care about, ranks them by how relevant they are to me, summarizes each one, and lays them out on a single clean page I can scan in a couple of minutes.

It is built around my interests, not a generic front page. Stories are organized into categories like AI, Tech, Gaming, Music, Woodworking, Photography, Dev Tools, Product, and Productivity, and I can filter to just the ones you want on any given day.

How you use it

The dashboard has three views that share a category filter bar.

Home shows today’s stories, arranged by importance. The strongest stories get a large hero treatment at the top, solid picks fill a grid in the middle, and lighter items collapse into a compact list below, so the most worthwhile reading always rises to the top. A sidebar lets me browse older stories by day.

Read Later is my saved pile. Tap Later on anything I want to come back to, and it waits for me. Opening it later removes it from the list and files it into history.

History keeps the last few days of what I have opened, so it is easy to find that thing I read yesterday.

Reading state stays in sync across every device I use. Open the dashboard on my laptop and my phone and you see the same read items, the same saved articles, and the same history. There is also a light and dark theme toggle in the header, and my preference is remembered per device.

How it works

Under the hood, Daily News is deliberately simple and self-hosted, with no heavy framework and no build step.

A background pipeline does the gathering and ranking. On a regular schedule an n8n workflow fetches all of my RSS and Atom feeds, pulls in each article’s image and an excerpt of its text, and then uses a local language model (Qwen2.5) to score, summarize, and categorize every story. The result is written out as a single data file that the dashboard reads. Because the scoring and summarizing run on my own machine, my reading interests are not sent off to a third-party service.

The dashboard itself is one static HTML page containing all of its markup, styling, and logic. It loads the latest stories, renders the three views, and talks to a tiny companion service that stores my reading state. That state service is the single source of truth: when you save or open something, the page updates instantly for a snappy feel and then syncs the change up, and the server’s copy always wins. That design keeps your devices consistent and prevents an out-of-date device from resurrecting items you already cleared.

To keep things tidy on their own, the system prunes as it goes. Read markers drop off once a story rotates out of the feed, saved articles expire after about a month, and history keeps roughly the last few days. Nothing grows without bound, and you never have to clean up after it.

It’s tracking what I click and what I don’t, using those rankings to further influence how it presents stories to me. It’s simple to add and remove feeds on the fly. The whole thing runs from a single command with a lightweight web server and the state service side by side, so it is easy to stand up on a home server or a small box and leave running.

The idea behind it

Daily News exists to make staying informed feel calm instead of endless. Rather than an infinite scroll designed to keep you reading, it gives you a finite, ranked, summarized snapshot of what is worth your time today, on your terms, on your own hardware, and then gets out of your way. It’s effectively killed doom scrolling for me.