Jacob O'Bryant
Home · Archive · Twitter · GitHub · LinkedIn
Processing RSS feeds with Repl.it
23 December 2020

The other day I made a small web service with Repl.it that does a simple transformation on an RSS feed (source code). I created it mainly because of this excellent newsletter, which is a daily roundup of potentially interesting, non-commercial blog posts from Hacker News that didn't hit the front page. I've found quite a few good articles from it.

I've been reading the newsletter via email, but after releasing Findka's bandit-driven RSS aggregator, I wanted to switch to the RSS feed. Only one problem: Substack provides a feed, but each entry goes to an edition of the newsletter, which contains a collection of links. Findka needs each entry to go to one of the individual links.

Screenshot of the newsletter

Repl.it is one of the easiest ways to deploy a simple web service, so it was great for my little RSS mapcat-er. It's exposed via https://rssstuff.jobryant.repl.co/feed?url={some-url}&exclude={some-regex}. You send it a source feed and you get back a sink feed that has an entry for every link contained within the source feed's entries. You can also supply an exclude regex to filter out links. The root page has a form you can use to construct the URL.

Screenshot of the Repl.it service

This does require one small hack. Repl.it services will shut down after a while if they aren't getting any traffic. You can get around that with the help of your favorite pinging service. Repl.it says they're going to include "always-on repls" in their paid plan soon, after which this will no longer be necessary.

I'm excited to see what happens with Repl.it. As I've written before, I would love for open-source, self-hosted web apps to become more common. Here's another, great post on the topic (which I discovered thanks to that newsletter!). Lately I've been thinking that Repl.it is probably the perfect platform for this. I've got a handful of small web services I'd like to make, and I think it'd be fun to see how far I can push Repl.it.

Now if only there was a good way to use my local editor instead of the web UI. :)