fabriziosalmi/UglyFeed

Retrieve, aggregate, filter, evaluate, rewrite and serve RSS feeds using Large Language Models for fun, research and learning purposes

What it solves

UglyFeed solves the problem of fragmented and repetitive RSS feeds by using a Large Language Model (LLM) to aggregate, filter, and rewrite content into a curated, high-quality feed. It transforms raw RSS data into a more readable, summarized, or translated version tailored to specific user preferences.

How it works

The application follows a pipeline: it retrieves content from multiple RSS feeds, aggregates items based on similarity, and uses an LLM API (such as OpenAI, Ollama, Groq, Anthropic, or Google Gemini) to rewrite the content. The processed content is saved as JSON, converted back into a valid RSS feed (XML), and can be served via an internal HTTP server or deployed to GitHub/GitLab as a CDN.

Who it’s for

It is designed for content curators, bloggers, researchers, and anyone who wants to automate the creation of niche newsfeeds, personalized reading lists, or multilingual content delivery.

Highlights

  • Multi-LLM Support: Compatible with a wide range of providers including OpenAI, Anthropic, Gemini, Groq, and local models via Ollama.
  • Automated Pipeline: Handles everything from retrieval and similarity-based aggregation to final XML serving.
  • Deployment Options: Built-in support for deploying the final feed to GitHub or GitLab for easy distribution.
  • Customizable Prompts: Includes a library of ready-to-use prompts for rewriting and translation.
  • Management UI: Features a Streamlit-based web interface for configuration and script execution.

Related

  • Project
  • Project
  • Project
  • Project
  • Project