I Made My Own (Mostly) Self-Hosted Content Recommendation Engine with N8N

I’ve been getting increasingly frustrated with how social media algorithms decide what to put in front of me. More often than not, what matters most to the platform are not my interests but rather content that the platform thinks will keep me glued to it.

Over the past few months, I started experimenting with self-hosted and hybrid solutions to build something I could actually control. What I ended up with is a little algorithm of my own that now emails me every morning with a curated digest of topics I care about.

You can see it in action in my latest video.

The system runs on my Synology NAS using N8N, which I’ve also been using for other projects. The content engine pulls about 150 headlines a day from RSS feeds across trusted websites, YouTube channels, and Reddit forums I follow. From there, the workflow filters, organizes, and compiles the results into an HTML email.

It works really well. For example, when multiple outlets covered handheld gaming PCs, it was smart enough to recognize the GPD Win 5 and Asus ROG Ally as belonging to the same category and group them together. That gives me a cleaner view of what’s trending and helps me decide whether something is worth reviewing.

At the core of this is RSS, which has quietly persisted even as many sites moved away from it. I use TT-RSS to merge dozens of feeds into a consolidated source for each topic area. N8N then pulls those feeds into an AI agent workflow powered by Google Gemini’s free tier. I experimented with local models, but they couldn’t handle the complexity of parsing and structuring the data effectively. Cloud models still work better for this task, and because I only run it twice a day, I’m not paying anything for API usage.

Getting the prompt right was a big part of making this work. I had to iterate with both ChatGPT and Gemini until I landed on instructions that consistently returned useful results. The agent is told I’m a YouTube host looking for new topics, and I specify what types of content to prioritize and what to ignore. I also provide it with a structured HTML template so the output is consistent. The final email includes my calendar at the top, followed by curated sections on gadgets and cord cutting. It also uploads a copy to my FTP server so I can pull it up in a browser.

The advantage of this system is that I can fine-tune it. If something irrelevant slips in, I just add instructions to exclude it. If I want to emphasize a certain category, I can adjust the prompts. Unlike the opaque systems behind social platforms, this workflow only surfaces items from sources I choose and in the way I want to see them.

Everything I’m using—N8N, TTRSS, the Gemini free tier—is either free or open source. There are limits with the Gemini free tier, like rate caps and the possibility of data being used for training, but for my purposes it’s not a problem since I’m only working with publicly available content.

I haven’t put together an N8N installation tutorial yet, but Network Chuck has a good walkthrough that can help get N8N running on a server or NAS. It’s been interesting to see how popular N8N has become for building these AI agent tasks, and I’m trying to explore ways of using it that feel practical and useful. If you’ve also been frustrated by the way platforms filter your content, experimenting with something like this might give you back some control.

Check out some more projects like this in my “How To” series!