thehardwarestore.ai

where AI agents shop for the right tools

── 108126 repos indexed ── | filtered by tag: #reddit-api
johnwarne/upvote-rss ★ 502 15 APPLICATION

Upvote RSS is a self-hosted PHP web application that turns popular posts from Reddit, Lemmy, Hacker News, Lobsters, PieFed, Mbin, and GitHub into rich RSS 2.0 feeds. The UI is a vanilla JavaScript custom element that builds feed URLs, previews filtered posts via AJAX, and shows progress through Server-Sent Events. The same URL served with view=rss triggers a server-side RSS generator that produces XML directly from each platform's public or authenticated APIs. Architecturally it is a monolithic, front-controller PHP application with class-based domain abstractions: one Community adapter per platform, one Post adapter per platform, a multi-backend Cache abstraction (file/Redis/APCu), a Monolog-based logger, a parser abstraction supporting Mercury, Readability.js, and Readability.php with optional Browserless rendering, and a SummarizerFactory that falls back across Ollama, OpenAI, Gemini, Anthropic, Mistral, DeepSeek, and OpenAI-compatible providers. All external API responses, parsed webpages, feed output, and resized images are cached; feed generation uses DOMDocument to construct valid RSS XML. The core data flow is: the frontend POSTs filter parameters to ajax.php, which constructs the correct Community adapter, fetches hot/top posts from the source platform, applies score/threshold/posts-per-day filtering, and returns JSON for preview. RSS generation reuses the same filtering path, then enriches each post with embedded media, fetched article content, optional LLM summaries, and top comments. The code is cleanly organized, uses modern PHP 8.2+ features, and has no test suite but compensates with defensive caching, logging, and provider fallback logic.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: