Recently, I was following along as some of my relatives were on holiday. Naturally, I wanted to stay updated. Since I’m not active on social media1, this isn’t as straightforward as you might expect. I love looking at travel photos, so I’m always happy to see what they share.
My relatives use Polarsteps to share their location, photos, and notes from their trip. Polarsteps is pretty neat and convenient for posting updates, but it doesn’t really align with how I prefer to consume content. Sure, I could just open the link they send me, but that means I wouldn’t get notified about new posts. I could also download the app and sign up, but I generally avoid signing up for new services unless absolutely necessary.
Of course, my relatives kindly send me the link via messaging apps whenever they post something new, but it shouldn’t have to be that manual. We have better tools for this sort of thing!
You Guessed It: RSS
It won’t surprise anyone who’s been around here before—this sounds like a job for RSS. In fact, I’d argue that Polarsteps is essentially a travel blog, just with a few extra steps.
I poked around Polarsteps’ website but couldn’t find any mention of RSS support. The source code didn’t offer much help either. However, the web app makes some interesting requests to the api.polarsteps.com
domain. All the trip data is available via their API at https://api.polarsteps.com/trips/<trip-id>
(sometimes with a secret if the trip isn’t public). From the JSON data provided, it’s actually pretty straightforward to build a compliant RSS feed.
Serverless to the Rescue
Since this task essentially involved transforming text from one format to another, using something like Django (or even Flask) would’ve been overkill. I thought this would be the perfect opportunity to experiment with serverless functions.
I decided to try Cloudflare Workers. They boast all kinds of cool features, like executing code at the edge in one of Cloudflare’s many points of presence, as close to the user as possible. Plus, their free tier is quite generous.
Their build tooling is also fantastic, and I quickly became a fan of Wrangler.
Long story short, I created a simple worker that provides me with an RSS feed from Polarsteps. Now, I can read my relatives’ travel updates in my favourite RSS reader:
And because this won’t be the last time someone I know uses Polarsteps, I built the worker to be flexible. I can easily swap out the trip ID in the URL to add new trips to my RSS reader in the future.
So yeah, Cloudflare Workers are awesome — but RSS? Still the coolest.
I’m not on most of the usual social media platforms, and even if I have an account, I don’t spend any time there. So, even if someone posts something, I’m likely to miss it anyway. ↩︎