If you've been reading this blog lately, you'll know that I have been thinking a lot about the indie web and how we can bring back an internet where people are more interested in owning their own data. I'll not repeat all my arguments as to why we need to bring back the indie web, but there is one that I don't think I have made yet that I would like to share.
Yesterday I had some spare time so I decided to get around to making a few administrative changes to this website. I started by fixing a few small bugs and making minor tweaks to this website; the kind of things that sit at the bottom of your to-do list for a long time until you have a spare moment. After I had fixed those bugs and made those changes, I could have stopped. I didn't. I kept on going and built out a number of features that came to mind.
One of the reasons why I think having a website is so important is that you can take creative liberty while building it. This website is my own, and so I am able to customize it in as many different ways as I would like. I can change the color of the fonts. I can build out new features. I can remove parts of my website that no longer align with the person I am today.
When I first hosted a website online, I used a platform. I can't remember which one, although I do recall setting up a few sites using WordPress. This was a good way to get me on the web and helped me build a presence, but now I have my own site I realize how much I was missing out by hosting my websites on external platforms. WordPress provides a lot of customization, but not nearly as much as you can get building your own website.
I have been having a lot of fun building my website lately. Yesterday I decided to implement dark mode, which took me a lot of time to figure out. I came up with a solution pretty quickly, but it wasn't optimal. I had to keep going until I found something that worked within the parameters that I had set for myself. I ended up with something that I'm proud of. It may not be perfect, and there may be ways in which I can enhance dark mode on this site, but I'm not too concerned about building a perfect solution. I wanted dark mode on my site, and now I have dark mode.
Consider how difficult it would be to implement dark mode on WordPress. Maybe I would have had to install an extension. Then I'd have to set it up. Then I'd have to keep updating it if the creator decided to make changes. All of that sounds pretty boring to me. What sounds fun to me, on the other hand, is building dark mode from the ground up. There's something really special about building a feature for your website from the ground up.
A lot of the features you see on this website are custom-built. The graph that tracks my writing streaks was custom-built. The counter on my homepage that tells you how many cups of tea I have consumed since, well, I can't remember the date and I am in the zone so I am not going to check.
In building all of those features, I was able to learn something new. Dark mode took me down a few interesting rabbit holes as I inevitably encountered bugs that needed to be resolved. When I wanted to update my footer yesterday, I needed to remind myself of a few CSS positioning rules that I hadn't used in a while. All of this came as a result of wanting to fix a bug or two on this blog.
You can do whatever you want with your own website, and that's one big reason why I support the indie web. It's not just that owning your own data is important (and it is, I can't overstate this enough). Owning your own website means you have complete control over how you present yourself on the internet. You can craft an identity that is your own.
A Twitter profile may go a long way in helping you build an identity. It will give you a presence on a platform that many people use. But you can only make your profile so creative. In the end, Twitter decides how information on your profile is presented, and they choose what you can display. I can't share a list of all my web links on Twitter because they wouldn't fit in my bio. They only have one field to share a website.
My website, on the other hand, is completely my own. It's not perfect by any means, and there are many features that I will likely change at some point. It's interesting for me to think about how my website looked even three months ago. I didn't have a guestbook. I had a list of research projects which I didn't really maintain. Now, I have added features like pagination for my blog posts, dark mode, and an updated "about" page.
I also want to note that while making these changes was exciting, it was also fun. It was fun to encounter bugs that I had to fix. It encouraged me to think outside the box. This is an experience so many people are missing out on by hosting their website on another platform.
One of the side products of the growth of the web is that design has become front-and-center. This, I believe, discourages people who don't have a good design eye from building their own stuff. For instance, I hosted my site on Squarespace for longer than I would have because I liked the design of Squarespace. I didn't feel confident that I could build something that rivalled my old site. I wouldn't be surprised if a few people who remember by old site are shocked by the design of my current site. They are both so different, and the last one looked "professional."
I remember that when I was thinking about what area of web development to double down on a few years ago, I told myself that I should focus on back-end because I'm not very good with design. Building this personal website has made me realize one important fact: who cares? Who cares if I am not the best web designer in the world? That doesn't mean that I should avoid doing front-end web development altogether.
You can expect that many of the features on this website are going to be rough. You're going to find bugs in some places, I think. I don't have 100% test coverage for this blog. You should also expect that my site may undergo significant changes. I only launched this new site a few months ago, and since then I have made so many changes I can hardly remember what the original site looked like. But that's what I love about coding my own site. If I am ever bored, I'll always have something to work on.
I call this site my internet home for a reason. When I'm online, I really like decorating my site. I like hanging up new pictures. I like tidying up when I find a framework or component that can help me add a feature to my site that I want to share. It's all fun. If you take away one thing from this blog post, let it be this: starting your own personal website can be really fun if you like coding. Even if you have never coded before, it's a great opportunity to learn.
What I miss about the old web is how rough websites are. Going back to my point about the growth of design on the internet, it's easier than ever to think that you shouldn't publish something on account of the design. It took me a long time to develop confidence in my own design abilities, and I'm still not as confident as I would like to be. When you think about the websites of the '90s and early '00s, the design wasn't great, but that's what made those websites special. I don't find most of the old web designs funny. I find them a great expression of creativity. People had information they wanted to share online, and so they did. Design didn't really matter; they were on the web because it allowed them to share what they found interesting.
When I come across a website that someone else has built, I cannot help but admire it. You have no idea how much time I have spent lately just looking over other people's blogs. I don't even mean reading their content. I mean staring at all the pages on their blogs and seeing how they laid out information. I've encountered so many great blogs lately that have unique ways of sharing information. When someone builds a website themselves, it quickly becomes a reflection of their character. I don't just learn about people from their websites; I learn about them through how they built it and what information they have decided to share.
This website is one small corner of the web, but it's a place I am proud to call home. You can always find me at jamesg.app. It's no wonder that they call the page at the root of a website a "homepage." This is really like a home to me. Wipe your feet when you enter, and sign my guestbook when you come out. If you're feeling adventurous, consider building your own personal website if you don't already have one. It's really fun!