Weekend Project: indieblog.page
I spent the weekend scratching another personal itch and released it as a mini project at indieblog.page.
A recent post on hackernews asked users to share their personal sites with the world and the response was huge. Despite what people say, personal homepages and blogs are not dead.
In fact there seems to be a certain fatigue with the big social media sites and kind of a renaissance of small scale, self hosted websites.
With the indieblog.page website I want to collect those sites and make them discoverable using good old randomness.
Here is how it works. The app I wrote is quite simple. A PHP command line tool is used to add new blogs and to auto discover their RSS feeds using SimplePie. A cron job then automatically fetches these feeds, again using SimplePie. All that info is stored in a SQLite database.
The rest is just a bit of Twig templating and a button that will redirect you to one random post. To keep track of what you have seen, the internal ID of the last 100 posts you've seen is stored in a cookie.
All very straight forward but fun nontheless. I've seeded the database with URLs from the post mentioned earlier (extracted URLs courtesy of Max Leiter) and a couple of other sources. I will continue to add new blogs whenever I stumble upon them - suggestions welcome.
This was also a good opportunity to learn how to setup auto-deployment via SSH on Github actions. I basically followed this Tutorial by Zell Liew, whose blog is of course already in the database.