Chronicle, a consolidated stream of online posting activity

I’ve always wanted to have a consolidated, updated, self-hosted place to archive and display all of my online writing and posting activity. The needed tools and protocols have always been there, RSS key among them, but I’ve never quite found the time to put it all together until recently.

I’m currently beta testing a new Laravel app I created that does just this. I call it Chronicle.

 

If you open the menu modal, you can do some light filtering by year, source and category.

You can see it in action at chronicle.chrishardie.com.

On the administrative side, one can add various source sites and then set up one or more feeds to automatically pull in activity on an ongoing basis.

Right now, RSS is the single feed type supported, but it’s set up in a way that others are easy to add, e.g. an authenticated fetch of an API endpoint.

It also supports initial importing of activities from an ActivityPub (Fediverse/Mastodon) export, a Twitter account export, an RSS feed and a WordPress WXR file. So, yay, I can finally go back and browse through my earnest and/or snarky Tweets from before I deleted my account there.

Finally, it makes available some authenticated REST API endpoints that I can use to pull the activity stream in to other spots to display those updates.

I built a simple WordPress shortcode to consume the activities API endpoint for viewing the updates on my personal website home page:

I mostly built this for fun, but it does feel nice to have everything in one database, preserved for posterity without dependence on a given site or platform (except Chronicle, obviously).

Things I still need to add:

  • Performance optimizations
  • Searching, probably using Laravel Scout + Algolia
  • Feed check errors exponential backoff, notifications and recovery
  • An RSS feed of the Chronicle feed itself

If anyone else is interested in this tool, I’d be glad to make it public with an open source license. If you have your own way of preserving or consolidating your online activities, I hope you’ll share!