I just finished a caffeine-fueled push to re-do my personal web presence in light of... recent changes to the social media space. This might prove to be another abandoned project in a few years, but it cost nothing (in fact, migrating to GitHub Pages will save me in AWS costs), and I learned a lot.
My JackSampson.info domain is registered and its name server is hosted on AWS' Route 53, and I am now using GitHub Pages to serve the static files for JackSampson.info.
You're (hopefully) reading this on blog.JackSampson.info, which I am running on Micro.blog. I set up my blog to serve from my subdomain, and subscribed to the $4/month tier.
Prior to this, I was using a combo of AWS' CodePipeline to deploy static files from a GitHub repo to S3, and CloudFront for SSL and CDN. While it worked, the CodePipeline had a latency, the CloudFront caching took a bit to update, and I couldn't quite figure out why new or deleted files didn't make it into S3 with the right public settings. Oh, and it had a cost associated. None of this was super major for quarterly changes, but... it was clunky.
My first step was to migrate my static files to the Jcps/Jcps GitHub repo, and turn on GitHub Sites. In migrating the content, I also did some much needed updates to the FontAwesome implementation, as it was pretty outdated. I opted to self-host the files so that I have the most granular control over the content.
I also set up my h-card to mark my home on the IndieWeb. As of now, it's populated with name, headshot, current work info, and links to my other accounts across the web. I listed LinkedIn, GitHub, Instagram, my website, my blog, and my Mastodon account. See my current implementation here.
Once I made the DNS changes to get my JackSampson.info domain pointed to the GitHub Site, I went through the steps of verifying everything via IndieWebify.Me, which included adding other rel="me" and links all over the place.
I now have a homepage that verifies my other accounts, and (hopefully) verifies who I am.
I decided to set up my blog on Micro.blog, as wanted a place to post both short and longer-form content, but I didn't want to have to struggle with running servers or updating software.
However, what's great about Micro.blog, is that it's Fediverse-capable, meaning someone can follow my blog directly from their Mastodon/GNU Social/etc account (Try it: follow my blog via [@jcps@blog.jacksampson.info](https://micro.blog/jcps@blog.jacksampson.info)).
While I don't plan on interacting with the Fediverse from my blog, I have the option. I do plan on (spoiler) syndicating my posts from my blog to my own Mastodon account.
I spent a few hours playing with CSS and theming to get my blog to kinda match the look and feel of my homepage, and followed the documentation on setting up custom domains for Micro.blog. Oh, and more rel="me" links.
There's a principle in the IndieWeb called POSSE: Publish (on your) Own Site, Syndicate Elsewhere. This means your site is the source of truth, and the other sites are just followers/children/etc. You get the idea: publish once, blast out elsewhere.
I want my new blog posts to syndicate to my Mastodon account, so I installed Feediverse on a small VM. I am not super excited about how photo-only posts don't get attached to the Mastodon post, but the Python is pretty simple, so I may play with it some more. I might even use it to roll my own syndication to other platforms.
In the end, this was pretty fun to set up. I still need to play with some things, so expect me to make and then quickly delete posts for a while now. However, I plan on posting accounts of my multitude of hobby projects, cat photos, etc.
#Fediverse #IndieWeb