I built a personal "AI News Editor" to stop doomscrolling (n8n + OpenAI + Tavily)

Hi everyone,

I realized I was wasting way too much time scrolling through junk news sites and RSS feeds, so I decided to build a “Personal AI Editor” to filter the noise for me.

The goal was simple: Only show me news that actually matters to my specific interests, and summarize it so I don’t have to clickbait.

I built this using n8n (self-hosted), and I wanted to share the logic in case anyone else wants to clean up their information diet.

The Workflow Stack:

  • Orchestrator: n8n

  • Filtering: OpenAI (GPT-4o-mini is cheap and fast for this)

  • Research: Tavily API (for searching/summarizing)

  • Delivery: Gmail (SMTP)

How it works (The Logic):

  1. Ingest: The workflow pulls headlines from my favorite RSS feeds every morning.

  2. The “Editor” Agent: I send each headline to OpenAI with a prompt describing my specific interests (e.g., “AI automation,” “Node.js updates,” “Local LLMs”). The AI assigns a relevance score (0-10) to each item.

  3. The Filter: A simple If node drops anything with a score below 7.

  4. The Deep Dive: For the high-scoring items, I pass them to Tavily. It searches the web for that topic and writes a concise summary (so I don’t have to visit the ad-filled news site).

  5. The Delivery: It compiles the summaries into a single email digest and sends it to me once a day.

One major headache I ran into: I kept getting “Connection Lost” errors because the AI generation took too long. I learned (from reddit community only) you have to configure Server-Sent Events (SSE) or adjust the timeout settings in n8n/Node.js to keep the connection alive during long research tasks.

The Result: Instead of checking 10 sites, I get 1 email with ~5 items.

Detailed write up on this workflow is available in I Built an AI Research Agent to Cure My "Doomscrolling" Addiction - DEV Community . Its a low code approach, and prompts and code (JavaScript) is made available, along with the workflow JSON in git (Git)

Let me know if you have questions about the prompt engineering or the SSE setup—happy to help!

1 Like

Very interesting of an idea to filter out news that may not be relevant and make time focusing on your specific needs and interests. I really enjoy how it has a relevance score which can then decide if it is something you really want to consume. I am curious if there are any specific prompts other than simple interests for determining the relevance score of a particular news story? This could be really useful in a number of contexts.

Great to know it’s helpful. I have detailed out the prompt in the video and also included in git. You can simply adjust it to change the role or scoring or implement other restrictions. If you have a particular use case in mind, do share, and I see what other options are possible. Thanks

2 Likes

Do you need a GCS account to run the Gmail SMTP node?

No..you don’t need.

1 Like

Just saw your vid. Good job, and good luck :smiley:

Thank you. Hope it is helpful. Planning few more in the coming weeks (on n8n, pinecone, copilot and more tavily). Stay tuned if you are interested. Thank you

Just for fun update (No new workflow here!):

I decided to run a little experiment to “stress test” this project using Google’s NotebookLM. I fed the demo video into it and used a custom prompt to force the AI hosts to ruthlessly roast the architecture instead of summarizing it.

The result was brutal :skull:, but interestingly, because I prompted it carefully, it actually recognized the specific n8n logic (like the SSE timeouts and JSON forcing) before making fun of it.

If you’re curious to see the agent getting torn apart (and validated) by another AI, here is the result: https://youtu.be/oof9JB3OFO4

(Purely for entertainment and a bit of prompt engineering testing—no new nodes in this one!)