Published Jul 18, 2026, 5:00 PM EDT Shekhar Vaidya is a veteran technology journalist and computer science engineer. He is the founder of TechLatest, where he has spent years providing technical analysis on hardware and Windows ecosystems. Now a Computing Writer at XDA, Shekhar leverages his deep background in NAS, storage solutions, and PC internals to help readers master their tech. Sign in to your XDA account It’s been ages since I read a newspaper, and I doubt most of us do anymore. For most of us, it is either a news app, different news outlets, or social media like X and Reddit. Every morning, I’d hit the same wall, the same story on three different outlets, each with unique headlines. It's similar for social media apps and newsletters: a headline on X, a rehash on Reddit, and a slower version from a newsletter an hour later. It was never about bad stories or half-baked reporting, but it was a "too much repetition" problem. That’s when I decided to self-host MuckScraper, an open-source app that pulled from my own chosen sources, clustered duplicate coverage, and summarized via a local LLM on my own hardware. It kind of worked out of the box, but not for my life, at least not yet. My mornings were five tabs of the same three stories I wasn't missing news — I was drowning in duplicates of it The routine has been the same for me for a few years now. I wake up, I grab my phone, and I go to the washroom. Emails, newsletters, X feed, Reddit threads, and a quick glance at Google News. And it's been the same loop for years — I don't even remember when it started. Every source felt necessary because each occasionally surfaced something the others missed. The common thread in this routine was the same news, dressed up with a different headline each time. For example, a story on Google News about the Galaxy Watch Ultra 2 — Mashable published it as “New leak reportedly reveals nearly full spec sheet for Samsung Galaxy Watch Ultra 2," whereas GSMArena pushed it as “Samsung teases the next Galaxy Watch and its AI-powered 'Health Companion.'" The conclusion was the same, but the different headlines made me click on both, since they looked like separate pieces. There were no issues with the article or the publication; fancy headlines are just part of how we tell stories and package what we find. From my journalist's point of view, that's normal. But as a reader, it was the same story in four or five different outfits. After reading three versions, the fourth and fifth rarely added anything meaningful. I still liked scrolling through the X feed and Reddit threads, but for news outlets and email newsletters, it had become a chore of filtering duplicate coverage rather than actually reading them. I realized my mornings had become less about catching up on tech news and more about figuring out which headlines were actually new. And at that point, adding a new app to my already crowded stack didn’t feel like a good move. Even switching to an aggregator wouldn't fix it. Most still surface individual articles without truly merging duplicate reporting. I did try a few AI-powered services for the same, but they all relied on cloud APIs and barely any free tier. So I started looking for something that I could host and manage the feeds myself. A couple of weeks ago, while going through Reddit’s r/selfhosted, I came across MuckScraper. The title itself grabbed my attention. It was “MuckScraper: open source self-hosted news aggregator with bias ratings, story clustering, and local AI summarization." Open-source, self-hosted, and local AI — these three words from that title made me decide to try it on my home server. It wasn't about promising more news, but about offering an easier way to consume the news I already follow. Getting it to read my mornings, not Washington's Out of the box, it thought "the news" meant Congress The README on the GitHub repo looked simple enough to deploy and start using in a few minutes. The tech stack was something I was already familiar with. It already uses a few of my favorites, like Python for the backend, PostgreSQL for the database, Ollama for local LLM inference, Meilisearch for search and sort, and Docker for deployment. I literally had all the dependencies with me and felt like it was a Docker Compose away. I was a little skeptical about the local LLM part — it needed to run 24/7, which ruled out my RTX 4070 Ti workstation. And I was running an old repurposed Dell laptop as my home server with no GPU. That’s when I decided to run a small local LLM, qwen2.5:1.5b, with CPU-only inference. Yes, I know I risked my whole server by running a local model on it, and I did face a severe issue, but more on that later. For context: a Dell Latitude 7480, Core i5-6300U, roughly 11.6GB of RAM, a 256GB SSD — already running more than 20 containers before I added a 1.5B local model into the mix." I deployed it and kept it running for a few hours, and when I opened the dashboard, it was unlike anything I expected. Out of the box, MuckScraper technically worked. But it clearly assumed a US-centric audience interested in Congress, the White House, and US politics. I was neither a US citizen nor a political person. It felt like I’d done all this for nothing. At the same time, my other services hosted on the server began struggling to run. When I checked the server stats, memory was at 100% (11GB/11GB), with swap completely exhausted. Upon further checking, I found that Ollama alone was consuming 4.4GB. I immediately set a reduced context length and a lower keep-alive duration. The fix brought everything back under control, but the MuckScraper was still useless for me. I went through almost all the files, checking each section and function like RSS feeds, sidebar categories, topics, and manual fetching, and started replacing them with the things I liked. It took me another afternoon. But once I’d swapped in my interests, such as self-hosting, homelab, local AI, consumer tech, and operating systems, and my own RSS feeds, such as XDA, Hacker News, a few subreddits, and GitHub blogs, it finally started to feel like something mine instead of a generic US politics paper. Once everything was configured, I left it running for another day, so the dashboard could fill up with something I liked. But MuckScraper still wasn’t ready for me. The backend was full of errors, and a few feeds on the dashboard weren't behaving. Once I went through it, a few were news API bugs, and a few were intentional MuckScraper default configs. GNews was rejecting hyphenated search terms, and Reddit and GitHub were in the default blocklist. By the end, after two to three days of configuration, which I initially assumed was a five-minute job, it was working perfectly, and it had become something I could open every morning for a quick glance into everything. My dashboard now, not my apps Five habits became one five-minute scroll After almost two weeks of running it, my years-old routine had finally come to an end. Instead of cycling through five apps, I now open only one dashboard. All the stories were now clustered, with AI summaries on demand. I didn’t need to open each article to go through the content and the meat. It still linked back to the original articles, so if I wanted more details or wanted to jump into the thread, I could open it from the same dashboard. Homelab stories, local AI developments, consumer tech updates, and self-hosting news. It was a custom newsroom designed around my interests only. The point isn't that these stories are exclusive — it's that they're relevant to my interests rather than whatever happens to dominate mainstream tech news. Honestly, the app still needs a lot of work to become a permanent part of my stack, but overall, it’s been a smooth journey so far. My current setup still has a lot of noise, like Quordle or Wordle answer roundups getting clustered, generic deals posts surfacing, and a few irrelevant articles slipping into the feed. And the bias rating system was good for a politics news dashboard, but mostly meaningless for a tech one. But since it is an open-source app, I plan to contribute back to the project directly or fork it into something closer to what I need in my free hours. In the end, it did what I actually wanted. Rather than chasing news in various apps and newsletters, I started with my custom dashboard and only opened the original articles that genuinely interested me. It was not perfect (at least not yet), but for the first time, the feed was actually about my interests, not the news cycle’s. Same mornings, one feed, way less scrolling As a publisher and journalist myself, I didn’t want to replace reading the actual articles, but the repetitive work of sorting through duplicate headlines every morning was getting a little tedious. So instead of ditching news apps, I built something to do the sorting for me and opened articles when I wanted to. I still read original reporting when a story interests me, but now I start from a single personalized dashboard with a feed that actually reflects what I care about each morning, instead of five different apps saying the same thing in five different ways.
My morning news routine used to be five apps showing the same story — until I self-hosted MuckScraper
Full Article
📰 Original Source
Read full article at Xda-developers →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.