Why am I building a personal website in 2023‽
2023-11-11 | Estimated reading time: 4 minutes
For me personally, it also is an attempt and a reason to catch up on frontend development topics. A lot has changed since I last did extensive frontend work ca. 2014 and I am cautiously optimistic that the web can move away from some of the IMO bad practices it has picked up over the years.
“Replacing” social media
For content creators, social media is full of benefits. Content is much more discoverable, especially once you factor in categorising features like hashtags. Your consumers sharing your content in their social circles with just one click and The Algorithm™ of course helps a lot, as well.
Even though Twitter and Reddit have undergone unpopular changes this year, they are still here to stay, it seems. But quite a few of their users have packed it up and I am amongst them.
Unfortunately, they are not headed for the same destination. Some call Bluesky their new Twitter replacement, some have settled on Mastodon, and some have seized the opportunity to excise microblogging from their lives entirely.
Where have Reddit users gone to? I actually don’t know, because the end of 3rd party Reddit clients also put an end to my Reddit doomscrolling and I’m not missing it, at all.
I have never thought of it this way, but during all these years, I have been consuming decentralised content on a regular basis: podcasts. Content creators can host their podcasts wherever they want to and I can consume them in the same app without having to care about where they can be found. If a creator is not happy with their hosting service, they can go somewhere else and their audience (ideally) does not have to take any action to follow them.
“Normal” websites are capable of those conveniences, as well: A domain name stays the same even if you change the actual hosting service and RSS feeds provide a convenient, simple way for your audience to essentially subscribe to your content.
Frontend development, its woes, and progress
My career focus shift to backend development came when server-side HTML rendering turned into backends providing APIs and frontends consuming those APIs to modify the DOM. When we were exploring React at work ca. 2014, some of my colleagues were much more interested in it than me, so our team of full-stack developers started to split into two cohorts: backend developers and frontend developers.
Looking back, I am still not convinced that additional complexity was justified for what we were doing. Our project manager’s vision was to create a user experience similar to that of a local application, especially with regard to managing local state.
This vision however made us “forget” that we were still building an application running in a browser with buttons like “back”, “forward”, or “refresh”. These oversights of course were our mistakes and not necessarily those of the React ecosystem, but I found myself frequently wondering whether we have considered “unexpected” input coming from the user using browser-native functionality.
React et al probably are wonderful, given the right use cases and implemented correctly, but was the added complexity really worth it for us?
This is disregarding recent developments like server-side rendering the frontend and then client-side hydration.
Why am I doing this?
I am not an evangelist for either technology. If anything, I am an evangelist for using the most appropriate tools for a given problem. But in order for me to be able to identify the best tool for a problem, I need to understand a good number of the tools that are available. As a (somewhat) practical learner, putting those tools to use is the best way for me to build that understanding.
Additional benefits may include relying less on (centralised) social media to get my thoughts, ideas, and rants out, as well as a hopefully better user experience for those who want to follow me.