Folo is an open-source AI RSS reader that puts all your feeds, newsletters, podcasts and social sources into one timeline.
fabriziosalmi/UglyFeed
Uses LLMs to rewrite, filter and evaluate aggregated RSS feeds, then serves the result as a new RSS feed for fun, research and learning.
- Stars
- 324
- Forks
- 21
- Open issues
- 5
- Last commit
- yesterday
What is it?
UglyFeed retrieves items from source RSS feeds, groups them by similarity, and rewrites each item with a large language model. It then filters and evaluates the generated content, converts the results to a valid RSS feed, and serves that feed over HTTP or publishes it to a GitHub or GitLab repository.
The pipeline runs through a Streamlit web UI or Docker container. Supported LLM backends include OpenAI, Anthropic, Groq, Google Gemini and local Ollama models, and any OpenAI-compatible server can be used by changing the API URL. The project also includes a set of prompt templates, including one for translating feeds into other languages.
The project is positioned as an experimental tool for generating synthetic news, so its output is intentionally unreliable and should not be read as factual reporting. It is useful for studying how LLM-rewritten content behaves, building test datasets, or exploring feed automation.
Key features
- 01Aggregates RSS feed items and groups them by similarity.
- 02Rewrites content with OpenAI, Anthropic, Groq, Gemini or Ollama models.
- 03Converts processed items into a valid RSS feed and serves it over HTTP.
- 04Publishes the generated feed to GitHub or GitLab.
- 05Provides a Streamlit web UI and ships with ready-to-use prompt templates.
Use cases
- Experimenting with how LLM-rewritten news content reads and behaves.
- Building synthetic news datasets, such as for fake news detection research.
- Translating feeds into another language with the bundled translation prompt.
- Studying automated feed curation pipelines.
Quick start
- 1
Start the UglyFeed container with Docker
docker run -p 8001:8001 -p 8501:8501 -v /path/to/local/feeds.txt:/app/input/feeds.txt -v /path/to/local/config.yaml:/app/config.yaml fabriziosalmi/uglyfeed:latest - 2
Open the Configuration page and set your source feeds, LLM API and model
- 3
Run the scripts from the Run scripts page, then view or serve the XML feed
Things to know
- You need access to an LLM API, such as OpenAI, Ollama, Groq, Anthropic or Gemini, to rewrite content.
- The project is licensed under AGPL-3.0, which requires derivative works to be open-sourced under the same license.
In collections
Topics
FAQ
- What is UglyFeed?
- Uses LLMs to rewrite, filter and evaluate aggregated RSS feeds, then serves the result as a new RSS feed for fun, research and learning. UglyFeed retrieves items from source RSS feeds, groups them by similarity, and rewrites each item with a large language model. It then filters and evaluates the generated content, converts the results to a valid RSS feed, and serves that feed over HTTP or publishes it to a GitHub or GitLab repository.
- Is UglyFeed free to use? What license does it have?
- UglyFeed is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is UglyFeed still maintained?
- Actively maintained. The last commit to UglyFeed was on Nov 5, 2026.
- What can I use UglyFeed for?
- Experimenting with how LLM-rewritten news content reads and behaves. Building synthetic news datasets, such as for fake news detection research. Translating feeds into another language with the bundled translation prompt. Studying automated feed curation pipelines.
- How do I install UglyFeed?
- Start the UglyFeed container with Docker: docker run -p 8001:8001 -p 8501:8501 -v /path/to/local/feeds.txt:/app/input/feeds.txt -v /path/to/local/config.yaml:/app/config.yaml fabriziosalmi/uglyfeed:latest Open the Configuration page and set your source feeds, LLM API and model Run the scripts from the Run scripts page, then view or serve the XML feed
- Where can I get UglyFeed?
- The source code and installation instructions are on GitHub: https://github.com/fabriziosalmi/UglyFeed
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A RAG tool that summarizes and answers questions across mixed documents (PDFs, audio, YouTube, Anki, Logseq, web pages) using any LLM provider.
A web reader that aggregates real-time trending news from many sources into one clean, elegant page.
Open-source end-to-end news creation, production, curation, distribution and publishing platform for newsrooms of any size.
An open-source web app that lets journalists publish immediate, ongoing coverage of fast-moving news events as a live blog.
Local-first reader that folds papers, web pages, files and AI replies into five levels of detail, from a one-screen map down to the full text.